【问题标题】:Is it possible to run automatically celery at startup?是否可以在启动时自动运行芹菜?
【发布时间】:2011-01-18 12:39:18
【问题描述】:

我有基于 django 和 celery 的 python 服务器。 每次计算机重新启动时,apache2 都会启动,因此我的服务器正在工作,但是我必须手动重新启动 celery(转到我的项目目录并执行“python manage.py celeryd”)。什么是生产的正确解决方案?我的意思是,是否有可能将 celery 作为守护进程启动?

在这里http://github.com/ask/celery/tree/master/contrib/debian/init.d/ 我发现了两个脚本,它们看起来应该在 /etc/init.d/ 中,就像启动 apache2 的 apache2 脚本一样。但我把它们放到 /etc/init.d/ 中,我发现没有任何变化。

【问题讨论】:

  • 在 serverfault 询问 IT 人员。

标签: django celery


【解决方案1】:

你应该看看http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian

简而言之,在/etc/init.d 中使用celeryd 脚本:

$ update-rc.d celeryd defaults
Adding system startup for /etc/init.d/celeryd ...
    /etc/rc0.d/K20celeryd -> ../init.d/celeryd
    /etc/rc1.d/K20celeryd -> ../init.d/celeryd
    /etc/rc6.d/K20celeryd -> ../init.d/celeryd
    /etc/rc2.d/S20celeryd -> ../init.d/celeryd
    /etc/rc3.d/S20celeryd -> ../init.d/celeryd
    /etc/rc4.d/S20celeryd -> ../init.d/celeryd
    /etc/rc5.d/S20celeryd -> ../init.d/celeryd

【讨论】:

  • 谢谢,我试试,celerybeat 怎么样?我也需要 update-rc.d 吗?
  • 是的!不过记得只运行它的一个实例!
  • 哇!对我来说就像一个魅力!不幸的是,我花了很多时间找出我做错了什么(忘记 chmod 755 两个脚本),但最后一切正常!谢谢你的帮助,asksol!
  • 这对我来说适用于 celeryd,但几乎同样不适用于自动启动 celeryd-multi:stackoverflow.com/questions/7196555/…
  • 嗯.. 我这样做了,列出了相同的输出,然后重新启动。当我检查进程时,没有。并且 /etc/init.d/celeryd 状态返回 celeryd is stopped。我尝试再次运行 update-rc.d celeryd defaults,它说已经有一个条目。知道为什么它没有启动吗?
猜你喜欢
  • 1970-01-01
  • 2021-08-22
  • 2013-01-12
  • 2015-05-11
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多