【发布时间】:2014-09-27 06:14:47
【问题描述】:
当用户在创建操作中使用以下代码为特定日期创建任务时,我会安排提醒电子邮件:
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
但是,作业不会从队列中删除。有什么建议可以解决这个问题吗?
【问题讨论】:
标签: ruby-on-rails sidekiq