У меня есть задание, которое выполняет изменение состояния, и, как я его использую, состояние изменяется только по прошествии определенного количества времени.
В моем классе задания:
class ItemJob < ApplicationJob
queue_as :default
def perform(item)
item.do_this!
end
end
И он вызывается из модели:
def create_item_worker
ItemJob.set(wait: 30.seconds).perform_later(self)
end
Однако это не работает, потому что ActiveJob имеет очередь заданий для записей, которые больше не существуют.Я набираю bundle exec sidekiq
в Терминале, и он выплевывает дерьмо, как ActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn't find Item with 'id'=67
.
Так как мне это очистить?Sidekiq::Queue.all.each(&:clear)
похоже ничего не делает.