我有一个这样的方法
def abc
// some stuff here
end
handle_asynchronously :abc, queue: :xyz
只有当队列中没有一个时,我才想为此创建一个延迟作业。
我真的觉得这应该有一个简单的解决方案
谢谢!
最佳答案
我知道这个帖子很旧,但还没有人回复。 延迟作业不提供识别作业的方法。 https://github.com/collectiveidea/delayed_job/issues/192
我的建议是你的作业可以在执行时检查它是否仍然需要运行,例如,与数据库值进行比较等。在表中插入作业应该很快,如果你开始检查你可能会丢失它对于队列中的某个作业。
如果您仍然想在入队时查找重复项,这可能会对您有所帮助。 https://gist.github.com/landovsky/8c505ecab41eb38fa1c2cd23058a6ae3
关于ruby-on-rails - 如何创建独特的延迟工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962224/