使用 supervisord 设置 celerybeat
setup celerybeat with supervisord
我对如何将 celery beat 与 supervisord 过程控制系统一起使用感到困惑。以下代码是 supervisord 上的 celerybeat 程序示例。
; ================================
; celery beat supervisor example
; ================================
[program:celerybeat]
; Set full path to celery program if using virtualenv
command=celery beat -A myapp --schedule /var/lib/celery/beat.db --loglevel=INFO
; remove the -A myapp argument if you are not using an app instance
directory=/path/to/project
user=nobody
numprocs=1
stdout_logfile=/var/log/celery/beat.log
stderr_logfile=/var/log/celery/beat.log
autostart=true
autorestart=true
startsecs=10
; if rabbitmq is supervised, set its priority higher
; so it starts first
priority=999
在第 7 行,它有以下代码:/var/lib/celery/beat.db
,这是什么,我将用什么替换此路径?类似地,我将用 /var/log/celery/beat.log
替换此路径?谢谢
来自命令帮助:--schedule 是:
-s SCHEDULE, --schedule=SCHEDULE
Path to the schedule database. The extension '.db'
will be appended to the filename. Default: celerybeat-
schedule
并且来自 docs:
自定义调度程序类 可以在命令行(-S 参数)中指定。默认调度程序是 celery.beat.PersistentScheduler,它只是跟踪本地数据库文件(搁置)中的最后 运行 次。
django-celery 还附带一个调度程序,将调度存储在 Django 数据库中:
$ celery -A proj beat -S djcelery.schedulers.DatabaseScheduler
使用 django-celery 的调度程序,您可以从 Django Admin 添加、修改和删除定期任务。
我对如何将 celery beat 与 supervisord 过程控制系统一起使用感到困惑。以下代码是 supervisord 上的 celerybeat 程序示例。
; ================================
; celery beat supervisor example
; ================================
[program:celerybeat]
; Set full path to celery program if using virtualenv
command=celery beat -A myapp --schedule /var/lib/celery/beat.db --loglevel=INFO
; remove the -A myapp argument if you are not using an app instance
directory=/path/to/project
user=nobody
numprocs=1
stdout_logfile=/var/log/celery/beat.log
stderr_logfile=/var/log/celery/beat.log
autostart=true
autorestart=true
startsecs=10
; if rabbitmq is supervised, set its priority higher
; so it starts first
priority=999
在第 7 行,它有以下代码:/var/lib/celery/beat.db
,这是什么,我将用什么替换此路径?类似地,我将用 /var/log/celery/beat.log
替换此路径?谢谢
来自命令帮助:--schedule 是:
-s SCHEDULE, --schedule=SCHEDULE
Path to the schedule database. The extension '.db'
will be appended to the filename. Default: celerybeat-
schedule
并且来自 docs:
自定义调度程序类 可以在命令行(-S 参数)中指定。默认调度程序是 celery.beat.PersistentScheduler,它只是跟踪本地数据库文件(搁置)中的最后 运行 次。
django-celery 还附带一个调度程序,将调度存储在 Django 数据库中:
$ celery -A proj beat -S djcelery.schedulers.DatabaseScheduler
使用 django-celery 的调度程序,您可以从 Django Admin 添加、修改和删除定期任务。