kro*_*nak 7 celery django-celery
我已经使用mod_wsgi通过Apache建立了一个Django项目,现在我正在尝试将django-celery添加到混合中以运行定期和计划的任务。我偶尔会遇到错误消息,但是我没有找到它们的含义的解释。
当我使用以下命令启动Celerybeat时:
./manage.py celery beat
Run Code Online (Sandbox Code Playgroud)
我经常会遇到以下两个错误之一:
Message Error: cannot add item to database
celerybeat raised exception <class 'dbm.error'>: error('cannot add item to database',)
Run Code Online (Sandbox Code Playgroud)
我可以看到celerybeat在项目目录中生成了两个文件:celerybeat-schedule.dir和celerybeat-schedule.pag。我很确定这些文件是错误消息中提到的“数据库”。如果删除这些文件,Celerybeat通常会运行几次而不会出现问题,但随后错误会再次出现。
我需要对celerybeat计划文件进行某些操作来避免此错误吗?我以为这可能是权限问题,但看不到任何问题。
scu*_*cum -1
有同样的问题,但无法弄清楚。
解决方法是使用数据库来存储计划:
celery -A proj beat -S djcelery.schedulers.DatabaseScheduler
如果您选择这条路线,您将需要pip install django-celery更新您的数据库。
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |