Celery学习--- Celery操作之定时任务
celery支持定时任务,设定好任务的执行时间,celery就会定时自动帮你执行, 这个定时任务模块叫celery beat
文件定时执行任务
项目前提: 安装并启动Redis

celery_Schedule.py
# version: python3.2.5
# author: ‘lft415659‘
from celery import Celery
from celery.schedules import crontab # 可以实现复杂的定时任务
app = Celery('CelerySchedule',
# redis://:password@hostname:port/db_number 有密码认证的连接
broker='redis://192.168.2.105',
# broker='redis://:密码@192.168.2.105:6379/0',
backend='redis://192.168.2.105', # 用于Celery的返回结果的接收
) # 创建定时任务
@app.on_after_configure.connect # 启动程序连接上celery后自动执行这个函数生成定时任务
def setup_periodic_tasks(sender, **kwargs): # 第一次参数必须是sender,是定时任务的一个实例
# Calls test('hello') every 10 seconds. 这里的test是我们自定义的函数
sender.add_periodic_task(10.0, test.s('hello'), name='add every 10') # Calls test('world') every 30 seconds
sender.add_periodic_task(30.0, test.s('world'), expires=10) # Executes every Monday morning at 7:30 a.m. 更复杂的定时任务
sender.add_periodic_task(
crontab(hour=7, minute=30, day_of_week=1),
test.s('Happy Mondays!'),
) @app.task
def test(arg):
print('run task:', arg)
后台启动Celery的worker任务:
omc@omc-virtual-machine:~$ cd Celery
omc@omc-virtual-machine:~/Celery$ vim celery_Schedule.py
omc@omc-virtual-machine:~/Celery$ celery -A celery_Schedule worker -l info

启动定时任务调度器[celery beat]
omc@omc-virtual-machine:~/Celery$ celery -A celery_Schedule beat

更复杂的定时任务
上面的定时任务比较简单,只是每多少s执行一个任务,但如果你想要每周一三五的早上8点给你发邮件怎么办呢?哈,其实也简单,用crontab功能,跟linux自带的crontab功能是一样的,可以个性化定制任务执行时间
【linux crontab】http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html
【更多参考】http://www.cnblogs.com/alex3714/articles/6351797.html
from celery.schedules import crontab
app.conf.beat_schedule = {
# Executes every Monday morning at 7:30 a.m.
'add-every-monday-morning': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (16, 16),
},
}
像配置文件一样定时执行任务【用的比较少】
app.conf.beat_schedule = { 'add-every-30-seconds': { 'task': 'tasks.add', 'schedule': 30.0, 'args': (16, 16) },
}
app.conf.timezone = 'UTC'
Celery学习--- Celery操作之定时任务的更多相关文章
- Celery学习--- Celery 最佳实践之与django结合实现异步任务
django 可以轻松跟celery结合实现异步任务,只需简单配置即可 同步执行和异步执行 注意:即使Celery的任务没有执行完成,但是已经创建了任务ID.可以利用前台的定时任务发送Ajax异步请求 ...
- Celery学习---Celery 分布式队列介绍及安装
Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...
- Celery学习---Celery 与django结合实现计划任务功能
项目的目录结构: 项目前提: 安装并启动Redis 安装Django和Celery的定时任务插件 安装方法一: pip直接安装[安装了pip的前提下] omc@omc-virtual-machine: ...
- Celery学习--- Celery在项目中的使用
可以把celery配置成一个应用,注意连接文件命名必须为celery.py 目录格式如下 项目前提: 安装并启动Redis CeleryPro/celery.py [命名必须为celery.py] ...
- celery学习笔记1
生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产 ...
- celery 大量消息的分布式系统 定时任务
Celery 1.什么是Celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 https://www.jia ...
- Django+Celery 执行异步任务和定时任务
celery是一个基于python开发的简单.灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度.采用典型的生产者-消费者模型,主要由三部分组成: 1. 消 ...
- celery执行异步任务和定时任务
一.什么是Clelery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组成,消息中间件 ...
- 日夕如是寒暑不间,基于Python3+Tornado6+APScheduler/Celery打造并发异步动态定时任务轮询服务
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_220 定时任务的典型落地场景在各行业中都很普遍,比如支付系统中,支付过程中因为网络或者其他因素导致出现掉单.卡单的情况,账单变成了 ...
随机推荐
- [九省联考 2018]一双木棋chess
Description 题库链接 给出一个 \(n\times m\) 的棋盘,棋盘的每个格子有两个权值 \(A,B\) . Alice 和 Bob 轮流操作在棋盘上放棋子,一个格子能放棋子的前提条件 ...
- 重置Root用户密码
在忘记root用户密码是用于重置root用户密码: 1.开机按e. 2.在linux16开头的一行的末尾添加rd.break,按ctrl+x. 3.依次执行命令: mount -o remount,r ...
- volatile特性
volatile保证可见性 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作的可见性,即一个线程修改了某个变量 ...
- Angular的第一个helloworld
在安装了node,npm,angular-cli,vscode之后,我们来创建一个angular的应用 创建第一个hello world 使用的IDE工具为vscode 打开vscode,打开一个命令 ...
- 面试7 GC机制中如何判断一个对象是否任在使用
GC 通过在使用的根引用遍历所有引用的对象实例,当一个对象不能被遍历时,将被视为不能被使用.
- 利用SignalR来同步更新Winfrom小试
之前写了个用Socket来更新多个Winfrom的试例,这两天看了下SignalR,也用这个来试一下 SignalR 地址:https://www.asp.net/signalr 我这个也是基于 ht ...
- LeetCode刷题第二天
2.给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们 ...
- MVC,MVP 和 MVVM 的图示(转)
作者: 阮一峰 日期: 2015年2月 1日 转自:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 复杂的软件必须有清晰合理的架构,否则 ...
- Windows上只复制目录结构不复制文件
xcopy /T /E D:\filetest\FB\BK\bs\ D:\filetest\asdf
- css-图文案例
效果如下: 附上代码: <html> <head> <title>World</title> <style type="text/css ...