我日程提醒的電子郵件,當用戶在創建操作使用下面的代碼創建一個特定日期的任務:Sidekiq - 刪除預定作業任務時被刪除
if @post.save
EmailWorker.perform_in(@time.minutes, @post.id)
end
我想刪除計劃的提醒郵件每當關聯的任務被刪除。我試圖用一個模型方法上before_destroy
:
before_destroy :destroy_sidekiq_job
def destroy_sidekiq_job
post_id = self.id
queue = Sidekiq::Queue.new('critical')
queue.each do |job|
if job.klass == 'EmailWorker' && job.args.first == post_id
job.delete
end
end
end
然而,作業不從隊列中刪除。任何建議我來解決這個問題?
你搖滾!萬分感謝! – user3224820 2014-09-26 21:27:58
只是一個簡單的問題 - 他們爲什麼不在排隊呢? – user3224820 2014-09-26 21:31:05
只有準備好運行的作業纔在隊列中。在此之前,他們住在ScheduledSet中,並由調度程序移入隊列。 – infused 2014-09-26 22:07:30