В приложении Rails 6 у меня есть следующий код:
class Reservation < ApplicationRecord
after_create :publish_creation
def publish_creation
Publishers::Reservations::CreateJob.perform_later(self)
end
end
class Publishers::Reservations::CreateJob < ApplicationJob
queue_as :default
def perform(reservation)
puts reservation.inspect #dummy code for testing
end
end
В большинстве случаев я создаю Reservation
(запись всегда создается в БД), я получаю ошибку ниже
2020-02-14T09: 54: 03.707Z pid = 81787 tid = 1xmj ПРЕДУПРЕЖДЕНИЕ: ActiveJob::DeserializationError: Error while trying to deserialize
arguments: Couldn't find Reservation with 'id'= 35651cf7-35bc-4da0-bb0d-6285ac093d22
При первом запуске Sidekiq для обработки задания всегда находит Reservation
и все работает нормально.
Reservation id: "35651cf7-35bc-4da0-bb0d-6285ac093d22", analysis_id:
"6b3b167b-1279-49c0-991a-b580c375fd0f", reservable_type: "User",
reservable_id: "94f60c16-29d4-4372-983b-7544c393a7e6",
reserved_between: 2020-02-10 08:00:00 UTC..2020-02-10 08:10:00 UTC,
state: "scheduled", created_at: "2020-02-14 10:02:28", updated_at:
"2020-02-14 10:02:28"
Я что-то здесь упускаю? Связано ли это с тем, что я работаю в режиме development
, и оно должно исчезнуть после перехода на production
?