乐趣区

关于python:pythoncelery专注于实现分布式异步任务处理任务调度的插件

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 程序的解决进度、可视化治理,对运行步骤高深莫测!

退出移动版