在控制台监控任务执行情况,还不是很方便,最好是能够通过web界面看到任务的执行情况,如有多少任务在执行,有多少任务执行失败了等
这个Celery也是可以做到了,就是将任务执行结果写到数据库中,通过web界面显示出来。
这里要用到django-celery-results插件。
通过插件可以使用Django的orm作为结果存储,这样的好处在于我们可以直接通过django的数据查看到任务状态,同时为可以制定更多的操作
使用步骤
安装包
pip install django-celery-results
配置settings.py 注册app
INSTALLED_APPS = (
...,
'django_celery_results',
)
修改backend配置,将Redis改为django-db
# 原来是使用redis
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/1'# 现在使用django orm 作为结果存储
CELERY_RESULT_BACKEND = 'django-db' #使用django orm 作为结果存储
迁移数据库
python manage.py migrate django_celery_results
admin查看
http://127.0.0.1:8000/admin/