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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理