目录
-
创建任务
from celery import shared_task import time @shared_task def hello_celery(loop): for i in range(loop): print('hello') time.sleep(2)
-
调用
views.py 任务函数名.delay(参数,,,,)
-
生成数据库表
python manage.py migrate django_celery_results
-
启动worker
启动worker 注意:修改tasks.py的内容后 要重启celery的服务 celery -A 你的⼯程名 worker -l info
-
获取任务执行结果
异步任务执⾏完毕后,会⾃动触发信号: before_task_publish after_task_publish task_prerun task_postrun task_success task_failure task_revoked from celery.signals import task_success @task_success.connect(sender=add) def task_done_handler(sender=None, result=None): print(result)
-
定时,计划任务
定时任务 启动: celery -A 你的⼯程名称 beat -l info 在settings.py⽂件添加 CELERYBEAT_SCHEDULE = { 'schedule-test': { 'task': 'app的名字.tasks.hello_celery', 'schedule': timedelta(seconds=3), 'args': (2,) }, } 计划任务时间 #setting.py from celery.schedules import crontab CELERYBEAT_SCHEDULE = { "every-ten-second-run-my_task": { "task": "t07.tasks.my_task", "schedule": crontab(minute="01", hour="15"), "args": (2,) } }