我有一个应用程序,每次部署后都需要杀死特定的 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/