我已经使用Apache2部署了一个Django应用程序,并且一直在努力进行芹菜配置。
第一次尝试:
我使用systemd对芹菜和芹菜进行了daemonization,如芹菜中所述
documentation
. 这是一种使用这种配置的方式(不建议用于生产)
ExecStart=/path/to/celery/bin/ -A proj worker
ExecStart=/path/to/celery/bin/ -A proj beat
但我无法让“官方”配置正常工作,比如:
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
当前配置:
我读过这个
article
(芹菜4个定期任务中)建议使用监督。我就是这么做的,我的配置文件是这样的
[program:projworker]
command=/path/to/celery/bin/-A proj worker -l info
因此,它实际上与芹菜文档中的disadvised命令相同(尽管对于这两种配置,我都正确设置了projectdir、user和group等)。然而,一切都进展顺利。
所以最后,我的问题是:这真的尊重好的实践吗?据此,
piece
当然,文档管理器可以处理daemonization,但我不确定我是否正确。