首页 > 编程语言 >Python-celery介绍与快速上手

Python-celery介绍与快速上手

时间:2023-02-09 14:37:02浏览次数:69  
标签:Celery Python app redis celery result 快速 id

1.celery介绍:

  celery是一个基于Python开发的模块,可以帮助我们在开发过程中,对任务进行分发和处理。

             

详细介绍取自:Python之celery的简介与使用 - 简书 (jianshu.com)

celery官网:Celery - Distributed Task Queue — Celery 5.2.7 documentation (celeryq.dev)

celery中文网:简介 - Celery 中文手册 (celerycn.io)

 

2.环境搭建:

  安装celery: pip install celery

  安装broker:redis或radditMQ

  pip install redis / pika  

3.运行程序步骤:

一. 启动redis
二.启动worker
        进入当前目录(当前是s1.py)
            celery -A s1 worker --loglevel=info
            celery -A py文件名 worker --loglevel=日志等级(非必要选项)

 

 

from celery import Celery
from celery.result import AsyncResult

app = Celery('celery_tasks', broker='redis://127.0.0.1:6379', backend='redis://')
"""
参数一: 任务名称(根据自己要求定义)
叁数二:连接 放任务 的队列
参数三:连接 放结果 的队列
"""


# 函数一但被如此装饰,就意味着此函数将会是一个celery任务
@app.task
def sum(x, y):
    return x + y


@app.task
def sub(x, y):
    return x - y


####################### 函数调用 ###########################
result = sum.delay(4, 4)  # 意味着,将函数与参数,扔到任务队列中
result_id = result.id  # 获取任务id


result_object = AsyncResult(id=result_id, app=app)

print(result_object.status)  # 打印任务状态

 

标签:Celery,Python,app,redis,celery,result,快速,id
From: https://www.cnblogs.com/yeli-oneselfblogs/p/17105138.html

相关文章

  • mac 快速文件开头和末尾
    Mac删除字符的用法第一种:按delete键,删除光标之前的一个字符;第二种:按fn+delete键,删除光标之后的一个字符;第三种:按command+delete键,删除光标之前整......
  • Python之ruamel.yaml模块详解(一)
    (Python之ruamel.yaml模块详解(一))1ruamel.yaml简介ruamel.yaml是一个yaml解析器;ruamel.yaml是一个用于Python的yaml1.2加载器/转储程序包;它是PyYAML3.11的衍生产品;r......
  • python多维数组的每列的最值
    python代码实现importnumpyasnpdefmaxmin(array):#求每列的最值maxlist=[]minlist=[]foriinrange(len(array[0])):#行数col=[]......
  • python3 时间戳转换
    importtimedeftime_conversion(times):#转换成新的时间格式(2016-05-0520:28:54)dt=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime(times))......
  • Python 分支结构
    阅读目录​​应用场景​​​​if语句的使用​​​​例子1:英制单位英寸与公制单位厘米互换​​​​例子2:百分制成绩转换为等级制成绩​​​​例子3:输入三条边长,如果能构成三......
  • Python爬虫爬取html中div下的多个class标签并存入数据库
    使用python爬虫爬取html页面div中的多个class标签,获取后将数据存成列表,然后存入数据库importmysql.connectorimportpymysqlimportrequestsfrombs4importBeautif......
  • python开发笔记--ImportError: cannot import name 'sysconfig' from 'distutils' (/u
    异常情况:ubuntu20.4安装python3.10和pip后,执行piplist提示如下:ImportError:cannotimportname'sysconfig'from'distutils'(/usr/lib/python3.8/distutils/__init__......
  • PyQt5-快速上手笔记-03
    盒布局fromPyQt5.QtWidgetsimportQWidget,QPushButtonfromPyQt5.QtWidgetsimportQHBoxLayout,QVBoxLayoutclassmyWidget(QWidget):def__init__(self):......
  • 如何调控服务器CPU利用率的合理范围?10分钟快速掌握通用办法
     01“妄言”10分钟内调优CPU利用率绝大部分开发在面试时都会被面试官问到一个问题:“请举一个在以前工作过程中你觉得自己做的非常不错的事例”换言之:“请吹一个牛”一般人......
  • Vitualenvwrapper: 管理 python的 虚拟环境
            linux:install  Vitualenvwrapper[user]-3D05SQ3:~/python/managing-python-packages-virtual-environments/flask/venv$python3-mpipi......