使用celery异步任务队列处理任务
2019-03-13 11:37
337 查看
基本概念
Celery 有三个角色:
任务的发出者: 发出所有执行的任务(任务就是函数)
任务队列: ( 存放所要执行的任务信息)
处理者: 也就是工作的进程或协程, 负责监听任务队列, 发现任务便执行对应的任务函数
特点:
任务发送者和处理者可以分布在不同的电脑上, 通过中间人进行信息的交换.
任务队列中的任务会进行排序, 先添加的任务会被先执行.
图示:
安装
# 安装 celery: pip install celery
使用
- 创建celery对象并配置中间人地址
# 引入 from celery import Celery # 创建celery对象, # 参数一: 随意起的名称 例如这里的demo celery_app = Celery('demo')
- 配置
# 配置文件: broker_url = '中间人的地址' celery_app.config_from_object('配置文件路径')
- 定义任务函数
# 我们这里需要使用上面定义好的对象, 装饰任务 # 这里有个参数: name='当前任务的名称' 这里当前任务的名称可以随便起 @celery_app.task(name='my_task') def my_task(a, b): print('任务函数被执行') ...
- 启动worker监听
celery -A 'celery_app文件路径' worker -l info
- 发出任务
# 注意: 任务一定要调用 delay() 函数 my_task.delay(2, ,3)
应用举例:使用Celery完成发送短信
相关文章推荐
- 在tornado中使用celery实现异步任务处理之二
- 异步任务队列Celery在Django中的使用方法
- 如何在asp.net中使用多线程及队列,异步处理一个耗时的任务(原创)
- 异步任务队列Celery在Django中的使用
- Django使用Celery异步任务队列的使用
- Python中异步的处理celery(任务队列)
- Python环境下安装使用异步任务队列包Celery的基础教程
- 异步任务队列Celery在Django中的使用
- 异步任务队列Celery在Django中的使用
- Django使用Celery异步任务队列
- 在tornado中使用celery实现异步任务处理之一
- Django使用Celery异步任务队列
- 在tornado中使用celery实现异步任务处理之中的一个
- Python环境下安装使用异步任务队列包Celery的基础教程
- 异步任务队列Celery在Django中的使用
- Django 使用celery做异步任务处理
- 异步任务队列Celery在Django中的使用
- 变态的libDispatch结构分析-全局队列异步任务处理过程
- Android开发使用线程池处理异步任务
- 在python下比celery更加简单的异步任务队列RQ 推荐