celery 简单入门使用

celery有异步与定时等优势,在项目部署分布有很大的优势
在这里插入图片描述
安装
pip install celery

使用(使用前最开始要把redis启动起来,方式https://blog.csdn.net/weixin_42357472/article/details/88967721)

1、创建实例化和写出一个调度任务app(文件名为 celery_test.py),然后在当前目录运行 celery worker -A celery_test -l info -P eventlet 命令等待和监听,为啥 -P eventlet后面说明

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

import time
from celery import Celery

broker = 'redis://127.0.0.1:6379/1'
backend = 'redis://127.0.0.1:6379/2'

app = Celery('my_task', broker=broker, backend=backend)

@app.task
def add(x, y):
    time.sleep(5)     # 模拟耗时操作
    return x + y

2、创建内容分配消费和储存(文件名为 celery_send.py),运行 python celery_send.py,分布观察本窗口和上面窗口结果

from celery_test import add

add.delay(2, 8)

print("hello")

在这里插入图片描述
在这里插入图片描述
注意问题:
1、出现错误、 Task handler raised error: ValueError(‘not enough values to unpack (expected 3, got 0)’,)
Traceback (most recent call last):

本问题说是因为版本太高在win10中运行有问题,解决方法https://github.com/celery/celery/issues/4081,

pip install eventlet
celery worker -A celery_test -l info -P eventlet 

版权声明:本文为weixin_42357472原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。