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