百木园-与人分享,
就是让自己快乐。

python-celery专注于实现分布式异步任务处理、任务调度的插件!

celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。它的执行单元为任务(task),利用多线程,如Eventlet,gevent等,它们能被并发地执行在单个或多个职程服务器(worker servers)上。任务能异步执行(后台运行)或同步执行(等待任务成)。

file

【阅读全文】

Celery的三个主要模块

\'\'\'
worker:用于执行队列中的工作任务
beat:用于定时分配工作任务
task:工作任务,可以是在代码里的调用、也可以是被beat分配定时任务
\'\'\'

Celery的使用条件

\'\'\'
1、安装消息中间件的支持,一般是redis。
pip install redis
2、安装Celery的支持
pip install celery
3、安装本地redis服务端并启动
\'\'\'

做一个Celery定时任务

\'\'\'
导入相关依赖包
\'\'\'
import celery # celery 定时任务包
import time # 时间记录
from datetime import timedelta # 时间处理

\'\'\'
创建一个worker用来执行定时任务
\'\'\'

# 创建worker、连接到redis消息中间件
worker = celery.Celery(\"work_test\", backend=\"redis://localhost:6379/\", broker=\"redis://localhost:6379/\")

# 创建任务配置类TaskConfig

class TaskConfig:
beat_suhedule = {
\'update_info\': {
\'task\': \'test013.test3.test_task\', # 任务所在的模块.函数
\"schedule\": timedelta(seconds=5), # 定时任务间隔时间
}
}

# worker配置生效

worker.config_from_object(TaskConfig)

@worker.task
def test_task():
\'\'\'
任务
:return:
\'\'\'
return \"当前任务执行状态:success,{}\".format(time.time())

\'\'\'
启动 beat 分配定时任务
celery -A test3.worker beat
\'\'\'

# C:\\work-code\\base-python3\\test013>celery -A test3.worker beat

\'\'\'
启动 beat 分配定时任务
celery -A test3.worker worker
\'\'\'

# C:\\work-code\\base-python3\\test013>celery -A test3.worker worker

file

file

【往期精彩】

● python远程服务操作工具:fabric,远程命令、本地命令、服务器操作利器!

● python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!

● 办公自动化:Python-win32com自动将word文档转换成pdf格式!

● pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!

● Git LFS 3.0.0 发布,对大文件进行版本控制的 Git 扩展

● python有序序列的字典序列推导式运用技巧!

● Django 4.0 alpha 1 发布

● python经典有序序列的list列表推导式实践运用

● python常用转义字符串总结:各种字符转义的不同、如何取消转义字符效果?

● 如何使用python完成对WebService服务的调用?suds-py3插件安利一下!

● 介绍一款优秀的IDE Grid Studio,Excel深度集成python,直接编写并执行python代码块!

● python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!

● 磨刀不误砍柴工,PyCharm开发工具的常规配置,充分提高开发效率!

● python程序的处理进度、可视化管理,对运行步骤一目了然!

来源:https://www.cnblogs.com/lwsbc/p/15399700.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python-celery专注于实现分布式异步任务处理、任务调度的插件!

相关推荐

  • 暂无文章