ruby-on-rails – 定期清除Heroku上陈旧的Resque工作人员?

ruby-on-rails – 定期清除Heroku上陈旧的Resque工作人员?,第1张

概述我有Resque工作人员通常不应该花费大约1-5分钟的时间来运行,但是这些工人经常会“陷入困境”并且闲置,堵塞工人并无所事事. 因此,我想定期检查运行时间超过X时间的工人并清除它们.但是我需要自动执行此 *** 作,因此我不必每隔几个小时亲自进入并手动清除它们(Resque.workers.each {| w | w.unregister_worker}). 这需要在Heroku上运行. 把它放到rake 我有Resque工作人员通常不应该花费大约1-5分钟的时间来运行,但是这些工人经常会“陷入困境”并且闲置,堵塞工人并无所事事.

因此,我想定期检查运行时间超过X时间的工人并清除它们.但是我需要自动执行此 *** 作,因此我不必每隔几个小时亲自进入并手动清除它们(Resque.workers.each {| w | w.unregister_worker}).

这需要在Heroku上运行.

解决方法 把它放到rake任务中:

allocated_time = 60 * 60 # 1 hourResque::WorkerRegistry.working.each do |worker|  if (worker.started <=> Time.Now - allocated_time) < 1    worker.unregister  endend

使用heroku调度程序,如果套件,您可以将其设置为最少10分钟.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 定期清除Heroku上陈旧的Resque工作人员?全部内容,希望文章能够帮你解决ruby-on-rails – 定期清除Heroku上陈旧的Resque工作人员?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存