【问题标题】:celery multi crashes on herokucelery multi 在heroku上崩溃
【发布时间】:2014-08-29 10:33:41
【问题描述】:

我已经为 heroku 部署了一个 django 应用程序,它使用 celery 来执行长时间运行的任务。出于性能原因(时间和内存),我生成了两个具有不同并发设置的工作人员并路由任务。它在我的本地环境中运行良好,但工作人员在 heroku 上立即崩溃。

2014-07-08T15:24:11.300344+00:00 heroku[worker.1]: Starting process with command `python manage.py celery multi start single multi -c:multi 8 -c:single 1 -Q:single single -Q:multi multi --loglevel=INFO`
2014-07-08T15:24:11.944619+00:00 heroku[worker.1]: State changed from starting to up
2014-07-08T15:24:13.386256+00:00 app[worker.1]: celery multi v3.1.8 (Cipater)
2014-07-08T15:24:13.386418+00:00 app[worker.1]: > Starting nodes...
2014-07-08T15:24:13.807448+00:00 app[worker.1]:     > single@f5bd1193-6b06-4822-8bea-6c45640d66c7: OK
2014-07-08T15:24:14.318063+00:00 app[worker.1]:     > multi@f5bd1193-6b06-4822-8bea-6c45640d66c7: OK
2014-07-08T15:24:16.242842+00:00 heroku[worker.1]: Process exited with status 0
2014-07-08T15:24:16.258695+00:00 heroku[worker.1]: State changed from up to crashed
2014-07-08T15:24:16.259282+00:00 heroku[worker.1]: State changed from crashed to starting
2014-07-08T15:24:27.430541+00:00 heroku[worker.1]: State changed from starting to up
2014-07-08T15:24:28.621064+00:00 app[worker.1]: celery multi v3.1.8 (Cipater)
2014-07-08T15:24:28.621229+00:00 app[worker.1]: > Starting nodes...
2014-07-08T15:24:29.103659+00:00 app[worker.1]:     > single@deb6a436-1ab7-4310-9a97-f137ad9bf682: OK
2014-07-08T15:24:29.667462+00:00 app[worker.1]:     > multi@deb6a436-1ab7-4310-9a97-f137ad9bf682: OK
2014-07-08T15:24:30.948397+00:00 heroku[worker.1]: State changed from up to crashed
2014-07-08T15:24:26.827871+00:00 heroku[worker.1]: Starting process with command `python manage.py celery multi start single multi -c:multi 8 -c:single 1 -Q:single single -Q:multi multi --loglevel=INFO`
2014-07-08T15:24:30.938523+00:00 heroku[worker.1]: Process exited with status 0

这就是我可以从日志中得到的全部信息...我是否需要对 heroku 进行一些特殊设置,或者 celery multi 是否不能在单个测功机上工作(不再)?我向谷歌提供了最明显的关键字,但没有看到答案。

非常感谢任何帮助或提示!

【问题讨论】:

    标签: django heroku celery


    【解决方案1】:

    Celery Multi 将节点作为守护进程启动,然后立即退出。进程监视器看到退出代码并认为程序已崩溃,因此它重新启动测功机。

    请参阅此帖子以了解解决方法: https://groups.google.com/forum/#!topic/celery-users/FDIrKPHv33s

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 2012-05-02
      • 1970-01-01
      • 2012-10-02
      • 2016-03-18
      相关资源
      最近更新 更多