ruby-on-rails – Sidekiq在完成后安排同一个工作人员排队

ruby-on-rails – Sidekiq在完成后安排同一个工作人员排队,第1张

概述我正在使用带有Rails 3的Sidekiq,以及以下工作者类: class BotWorker include Sidekiq::Worker def perform(user_id) user = User.find(user_id) puts user.email if condition # always true for now 我正在使用带有Rails 3的SIDekiq,以及以下工作者类:

class BotWorker   include SIDekiq::Worker   def perform(user_ID)      user = User.find(user_ID)      puts user.email      if condition # always true for Now           BotWorker.perform_in(1.hour,user_ID) # not working      end   endend

我的控制器只是

BotWorker.perform_async(user_ID)

但是,在SIDekiq仪表板上,似乎没有计划另一名工人.

还要注意,重复是有条件的,所以我似乎不能使用sIDetiq或一些sIDekiq调度扩展.

SIDekiq还是新手,请阅读文档.我错过了什么?

解决方法 奇怪.我做同样的事情,除了使用self.class而不是BotWorker,它的工作原理.虽然我的执行方法没有任何参数.

您可能希望将方法包装在begin / rescue / ensure块中,并将重新排队移动到ensure块中.

如果User.find无法找到用户,它将引发SIDekiq将捕获的错误,并应将您的作业移动到重试队列中.可能不是你想要的.

总结

以上是内存溢出为你收集整理的ruby-on-rails – Sidekiq在完成后安排同一个工作人员排队全部内容,希望文章能够帮你解决ruby-on-rails – Sidekiq在完成后安排同一个工作人员排队所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存