第一步:安装celery
pip install celery==4.4.2
第二步: 在settings.py同级目录中新建celery.py
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery # 设置环境变量 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'RepairPlatformProject.settings') # 注册Celery的APP
app = Celery('clock', include=['clock.tasks']) # 绑定配置文件 app.config_from_object('django.conf:settings', namespace='CELERY') # 自动发现各个app下的tasks.py文件
app.autodiscover_tasks()
第三步:在app中添加tasks.py
from celery.task import task @task def print_tet(): print('hell world') return 'ok'
第四步:在settings.py同级目录下__init__.py添加
import pymysql from .celery import app as celery_app pymysql.install_as_MySQLdb() __all__ = ['celery_app']
第五步: 在settings.py中添加配置
CELERY_BROKER_URL = 'redis://127.0.0.1:6379/10' CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/10' CELERY_RESULT_SERIALIZER = 'json' CELERY_BEAT_SCHEDULE = { # 周期性任务 'task-two': { 'task': 'clock.tasks.print_tet', 'schedule': 5.0, # 每5秒执行一次 } }
第六步:执行
celery worker -A RepairPlatformProject --loglevel=info --pool=solo
celery beat -A RepairPlatformProject --pidfile=