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 -P eventlet
celery -A py文件名 worker --loglevel=日志等级(非必要选项)-P eventlet(windows用户需要加上的,否则有可能报错)
注意:在加上-P eventlet之前,得先pip install eventlet
from celery import Celery
from celery.result import AsyncResult app = Celery('celery_tasks', broker='redis://localhost:6379/0', backend='redis://localhost:6379/1')
"""
参数一: 任务名称(根据自己要求定义)
叁数二:连接 放任务 的队列
参数三:连接 放结果 的队列
默认使用的是 localhost 的 6379 端口中 0 数据库。( Redis 默认有 16 个数据库)
""" # 函数一但被如此装饰,就意味着此函数将会是一个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) # 打印任务状态

最新文章

  1. RedHad中yum安装与使用
  2. iOS 快递查询
  3. CentOS下下删除大量文件
  4. c#中var关键字用法
  5. python 中文字数统计/分词
  6. js与jQuery对象相互转换
  7. HttpSessionActivationListener序列化与反序列化
  8. mysql 随机数 rand使用
  9. linux命令中的参数前的一横(-)和两横(--)的区别
  10. Python选修课第一届Turtle绘图大赛田康林赵冰珂组
  11. bzoj5043: 密码破译
  12. sql语句Order by 报错列名不明确
  13. JSP的九个隐式对象
  14. 机器学习英雄访谈录之 Kaggle Kernels 专家:Aakash Nain
  15. 一、WCF学习之旅-创建第一个服务
  16. 使用cnpm install提示package not found
  17. spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource【转】
  18. unity3d绘画手册-------地形各个参数解释
  19. python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb
  20. 用phpcms如何将静态页面制作成企业网站(上)

热门文章

  1. 01#Vue Transition 过渡:基于 CSS 过渡
  2. PostGIS之地理坐标
  3. Vue学习笔记之表单绑定
  4. python路径含空格导致打开文件报错
  5. python sys.argv(全局文本索引替换)
  6. 洛谷P4726 【模板】多项式指数函数(多项式 exp)
  7. QP之QEP事件分配流程分析
  8. php的几种接值方式
  9. [学习计划]mysql常用语句-随学随整理
  10. JQUERY动态的修改<div>样式