在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。与此同时,celery除了异步任务,还可以开启定时任务,方便调度。
2 安装需要的软件包(按照顺序安装)
pip install celery
pip install celery-with-redis
pip install django-celery
3 因为async这个单词在python3.7中已经作为系统关键字存在了,所以要把所有涉及到这个关键字的文件都要改掉,涉及的文件列表包含不限于:
/kombu/async
/celery/utils/timer2.py
/concurrency/asynpool.py
/kombu/transport/redis.py
/celery/worker/auto_scale.py,components,consumer,strategy
INSTALLED_APPS = (
…
‘djcelery’,
}
# 末尾初始化
import djcelery
djcelery.setup_loader()
BROKER_URL = ‘redis://127.0.0.1:6379/0’
CELERY_IMPORTS = (‘应用名称.task’)