当前位置:  开发笔记 > 后端 > 正文

Heroku雪松堆栈上的Resque工作者终止后,工作者计数仍然存在

如何解决《Heroku雪松堆栈上的Resque工作者终止后,工作者计数仍然存在》经验,为你挑选了1个好方法。

我已成功在heroku雪松堆上运行resque并将接口安装在rails上.

当我开始工作时,一切正常.工人处理工作.但是,当我杀死工人时,Resque仍然认为工人可以使用.当我开始另一个工人时,它认为有2个工人,但实际上只有一个工人.

我还注意到http://devcenter.heroku.com/articles/ps这里的表格,当杀死一名工人时,heroku发送SIGTERM,如果没有终止则发送SIGKILL.

这是我的工人日志

2011-08-11T02:32:45+00:00 heroku[worker.1]: Starting process with command `bundle exec rake resque:work QUEUE=*`
2011-08-11T02:32:46+00:00 heroku[worker.1]: State changed from starting to up
2011-08-11T02:33:58+00:00 heroku[worker.1]: State changed from up to stopping
2011-08-11T02:34:00+00:00 heroku[worker.1]: Stopping process with SIGTERM
2011-08-11T02:34:09+00:00 heroku[worker.1]: Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM
2011-08-11T02:34:09+00:00 heroku[worker.1]: Stopping process with SIGKILL
2011-08-11T02:34:11+00:00 heroku[worker.1]: Process exited

我看到我的进程需要超过10秒才能终止.这有什么事可做,因为我在工作任务上加载了rails环境吗?

这是我的佣金任务 lib/tasks/resque.rake

require "resque/tasks"

task "resque:setup"  => :environment

ahmy.. 5

我刚刚发现问题,这在传递ENVrake任务时会发生.好像在路过时QUEUE='*'.

这是更完整的问题 https://github.com/defunkt/resque/issues/319#issuecomment-1789239

问题仍然存在于https://github.com/defunkt/resque/issues/368

任何我的临时补丁,使resque只运行所有que.

https://github.com/yulrizka/resque



1> ahmy..:

我刚刚发现问题,这在传递ENVrake任务时会发生.好像在路过时QUEUE='*'.

这是更完整的问题 https://github.com/defunkt/resque/issues/319#issuecomment-1789239

问题仍然存在于https://github.com/defunkt/resque/issues/368

任何我的临时补丁,使resque只运行所有que.

https://github.com/yulrizka/resque

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有