启动时是否可以自动运行芹菜?

我有基于django和芹菜的python服务器。 每次计算机重新启动,apache2启动,所以我的服务器工作,但我必须手动重启芹菜(去我的项目目录,并执行“python manage.py celeryd”)。 什么是正确的生产解决scheme? 我的意思是,有没有可能将芹菜作为守护进程启动?

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

您可以手动从/etc/rc5.d/中链接/etc/init.d脚本,以便在您的GUI执行时启动。 你需要另一个关机。

但Debian有更先进(更好)的方法。 这将控制从各个运行级别初始化脚本链接的内容。 这就是在这些脚本顶部的注释部分使用“BEGIN INIT INFO”的原因。

如果您真的在使用Debian,而不是仅仅使用其资源中的脚本,请尝试使用

  update-rc.d celerybeat默认值
 update-rc.d celeryd默认值 

Celery为监督人员提供了一个示例configuration,这是一个负责项目相关任务和守护进程的守护进程。 Debian Unstable已经有一个可用的主pipe版本。 如果你安装了它,你只需要修改芹菜的示例configuration(在contrib / supervisor中find),然后把它放到/etc/supervisor/conf.d/中。

你没有提到你使用的发行版。 这一点很重要,因为启动脚本从发行版到发行版各不相同。 假设你正在使用Redhat / CentOS …

理想情况下,你应该跟踪一个init.d脚本。 这是更好的select,因为它也被用来安全地closures你的守护进程,重新加载它的configuration,重新启动它等。如果你想快速简单的解决scheme,只需在你的末尾贴上“ python manage.py celeryd/etc/rc.local文件。

编辑:我看你的例子中的path名称,你正在使用Debian。 我不确定Debian是否有一个/etc/rc.local文件。 但是我会留下这个答案,以防万一,或者这个信息对其他人有用。