ruby-on-rails - 如何杀死 Sidekiq worker ?

标签 ruby-on-rails ruby sidekiq

我有一个应用程序,每次部署后都需要杀死特定的 Sidekiq 工作人员。原来如此 api建议我可以通过从队列中删除所有作业来做到这一点 Sidekiq::Queue.new.clear .

但是,运行此命令后,worker 大小的数量 Sidekiq::Workers.new.size还是一样。实际上,我尝试了很多方法,但没有任何效果。请帮忙!

最佳答案

一旦工作人员开始处理作业,您无法在不关闭整个进程的情况下从外部停止它。没有安全的方法来停止线程。

您可以通过定期检查工作人员代码以查看其是否应该停止,将停止工作人员的功能添加到您自己的代码中,类似于 job cancellation .

关于ruby-on-rails - 如何杀死 Sidekiq worker ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35126160/

相关文章:

javascript - 在 JavaScript 中模拟 Rails 表单提交

ruby - 在 Ruby 中将二进制文件读取为字符串

ruby - ruby 中的 socket.io 和 eventmachine

ruby-on-rails - delay_job进程被静默杀死

ruby-on-rails - M.Hartl 的 Rails 教程 7.4.1 中的参数数量错误(2 对 1)错误

ruby-on-rails - CouchRest 模型使用自定义值而不是 _id 字段的 guid

ruby - 用于验证仅包含字符(没有特殊字符但带有重音字符)、空格和数字的字符串的正则表达式

用于发送到 Sidekiq/Redis 的 Ruby ZIP 文件编码

ruby-on-rails - 将 Sidekiq 升级到 v6 后,它不会在生产环境中自动启动

ruby-on-rails - Sidekiq worker 正在泄漏内存