0
点赞
收藏
分享

微信扫一扫

windows环境中利用celery实现简单任务队列过程解析


1.环境安装配置

celery == 4.3.0
redis
eventlet==0.25.1 ==> pip install eventlet (windows环境必须安装)

1.worker部分负责任务的处理,即工作进程(我的理解工作进程就是你写的python代码,当然还包括python调用系统工具功能)

2.broker部分负责任务消息的分发以及任务结果的存储,这部分任务主要由中间数据存储系统完成,比如消息队列服务器RabbitMQ、redis、

3.Celery主类,进行任务最开始的指派与执行控制,他可以是单独的python脚本,也可以和其他程序结合,应用到django或者flask等web框架里面以及你能想到的任何应用

2.目录结构

windows环境中利用celery实现简单任务队列过程解析_开发语言


创建easy_task.py

# -*- coding: utf-8 -*-

# 使用celery
import time
from celery import Celery
import redis

# 创建一个Celery类的实例对象
app = Celery('celery_tasks.easy_task', broker='redis://127.0.0.1:6379/15')


@app.task
def add(a, b):
count = a + b
print('任务函数正在执行....')
time.sleep(1)
return

创建doWorker.py

import time

from celery_tasks.easy_task import add


def notity(a, b):
# result = a + b
result = add.delay(a, b)
return result


if __name__ == '__main__':
for i in range(5):
time.sleep(1)
result = notity(i, 5)
print(result)

3.使用celery调度任务

1)进入虚拟环境启动celery

celery -A celery_tasks.easy_task worker -l info -P eventlet

2)执行任务,运行doWorker.py 运行效果如下

windows环境中利用celery实现简单任务队列过程解析_开发语言_02


举报

相关推荐

0 条评论