celery作用
celery是 python 编写的开源分布式任务队列框架。主要的做用就是用来实现异步任务以及定时任务。
创建my_celery
1. init文件下配置主程序 import os from datetime import timedelta import django from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'work.settings') django.setup() # 创建celery实例对象 app = Celery('test') # 通过app对象加载配置 app.config_from_object("my_celery.config") app.autodiscover_tasks(['my_celery.schedule_tasks']) app.conf.update( CELERYBEAT_SCHEDULE={ 'sum-task': { 'task': 'my_celery.schedule_tasks.my_crontab', 'schedule': timedelta(seconds=5), 'args': (5, 6) }, 'sum-task1': { 'task': 'my_celery.schedule_tasks.my_print', 'schedule': timedelta(seconds=3), 'args': () }, } ) 2. config中配置信息 broker_url = 'redis://127.0.0.1:6379/0' # 结果队列的链接地址 result_backend = 'redis://127.0.0.1:6379/1' timezone = 'Asia/Shanghai' # 导入指定的任务模块 imports = ( 'my_celery.task' ) 3.schedule_tasks中编写定时任务 from my_celery import app #定时任务1 @app.task() def my_crontab(x,y): print(x,y) print('x和y 相加 = {x+y}') return x+y # 定时任务2 @app.task() def my_print(): print('2222222222222')
celery任務的啓動方式
启动定时任务:celery -A my_celery beat -l info
启动异步任务 celery -A my_celery worker -l info -P eventlet
版权声明:本文为weixin_61652943原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。