Skip to content

Commit 73b4120

Browse files
committed
fix bugs
1 parent b1b0961 commit 73b4120

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

lib/outboxer/message.rb

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -246,18 +246,17 @@ def publishing(hostname: Socket.gethostname,
246246

247247
ActiveRecord::Base.connection_pool.with_connection do
248248
ActiveRecord::Base.transaction do
249-
id, lock_version, messageable_type, messageable_id =
250-
Models::Message
251-
.where(status: Status::QUEUED)
252-
.order(:id)
253-
.limit(1)
254-
.lock("FOR UPDATE SKIP LOCKED")
255-
.pluck(:id, :lock_version, :messageable_type, :messageable_id)
256-
.first
257-
258-
if id.presence
249+
message_row = Models::Message
250+
.where(status: Status::QUEUED)
251+
.order(:id)
252+
.limit(1)
253+
.lock("FOR UPDATE SKIP LOCKED")
254+
.pluck(:id, :lock_version, :messageable_type, :messageable_id)
255+
.first
256+
257+
if message_row.presence
259258
Models::Message
260-
.where(id: id)
259+
.where(id: message_row[0])
261260
.update_all([
262261
"lock_version = lock_version + 1, status = ?, updated_at = ?, publishing_at = ?",
263262
Status::PUBLISHING, current_utc_time, current_utc_time
@@ -274,10 +273,10 @@ def publishing(hostname: Socket.gethostname,
274273
])
275274

276275
{
277-
id: id,
278-
lock_version: lock_version + 1,
279-
messageable_type: messageable_type,
280-
messageable_id: messageable_id
276+
id: message_row[0],
277+
lock_version: message_row[1] + 1,
278+
messageable_type: message_row[2],
279+
messageable_id: message_row[3]
281280
}
282281
end
283282
end
@@ -309,7 +308,7 @@ def published(id:, lock_version:,
309308
message_row = Models::Message
310309
.lock("FOR UPDATE")
311310
.where(id: id, lock_version: lock_version, status: Status::PUBLISHING)
312-
.pluck(:id, :lock_version, :status)
311+
.pluck(:id)
313312
.first
314313

315314
if message_row.nil?

0 commit comments

Comments
 (0)