celery 是一个基于分布式音讯传输的异步工作队列,它专一于实时处理,同时也反对任务调度。它的执行单元为工作(task),利用多线程,如 Eventlet,gevent 等,它们能被并发地执行在单个或多个职程服务器(worker servers)上。工作能异步执行(后盾运行)或同步执行(期待工作成)。
【浏览全文】
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
【往期精彩】
● 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 程序的解决进度、可视化治理,对运行步骤高深莫测!