通过admin监视任务
在控制台监控任务执行情况,还不是很方便,最好是能够通过web界面看到任务的执行情况,如有多少任务在执行,有多少任务执行失败了等
这个Celery也是可以做到了,就是将任务执行结果写到数据库中,通过web界面显示出来。
安装插件
pip install django-celery-results
注册APP
INSTALLED_APPS = [
# 其他app
"django_celery_results"
]
修改backend配置,将Redis改为django-db
CELERY_RESULT_BACKEND = 'django-db'
# 之前的设置是 CELERY_RESULT_BACKEND = 'redis://localhost:6379/2'
迁移数据库
python manage.py migrate django_celery_results
# 迁移后在django-admin后台可以看到新增的表
在控制台启动worker和beat后台查看任务即可
celery -A luffy_api.celery1 worker -l debug -P eventlet
celery -A luffy_api.celery1 beat -l debug
上述都操作完毕后,可以在后台的Celery Results中查看任务结果了。
后续的操作
后台的管理我们自己去写,任务的结果:
- 可以直接使用django的orm取数据
- 也可以放到redis中,自己写接口处理