61 Celery Beat 任务调度
2023-04-18 14:14:57 时间
前面的任务调用都是手动触发的,本届将展示以下使用Celery的Beat进程自动调度任务。
Celery Beat是Celery的调度器,其定期启动任务,然后由集群中的可用工作节点worker执行这些任务。默认情况下,Beat进程读取配置文件中CELERYBEAT_SCHE-DULE的设置,也可以使用自定义存储,比如将启动任务的规则存储在SQL数据库中。请确保每次只为任务调度运行一个调度程序,否则任务将被重复执行。使用集群的方式意味着调度不需要同步,服务可以在不使用锁的情况下执行。
先明确一个概念---时区。间隔性任务调度默认使用UTC时区,也可以通过时区设置来改变时区。例如:
CELERY_TIMEZONE="Asia/Shanghai" #通过配置文件设置
app.conf.timezone='Asia/Shanghai' #直接在Celery app的源代码中设置
时区的设置必须加入Celery的App中,默认的调度器(将调度计划存储在celerybeat-schedule文件中)将自动检测时区是否改变,如果时区改变,则自动重置调度计划。其他调度器可能不会自动重置,比如Django数据库调度器就需要手动重置调度计划。
【示例 1】Celery调度实例。
修改myCeleryProj/settings.py
接下来启用CeleryBeat进程处理调度任务。
celery -A myCeleryproj.app beat
最后可以在worker界面看到定时或间隔任务的处理情况。
相关文章
- 函数柯里化详解
- 读Java8函数式编程笔记06_Lambda表达式编写并发程序
- 洛谷oj题单【入门1】顺序结构-入门难度(Java)
- pycharm远程调试、开发(详细操作)
- 线程池的极简用法——内置线程池multiprocessing
- 若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由
- SSL 证书基本概念扫盲
- springboot~openfeign开启熔断之后MDC为null的解决
- Zookeeper集群
- 运行项目报错 proxy error: could not proxy request...
- 读Java8函数式编程笔记05_数据并行化
- Google谷歌浏览器Post请求预见strict-origin-when-cross-origin跨域问题的 解决办法
- springboot~openfeign开启熔断之后MDC为null的理解
- elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除
- 深入使用Element-plus系列-入门按需引入安装
- 读Java8函数式编程笔记04_类库
- ChatGPT初体验——震撼,好用,贾维斯已来
- 《RPC实战与核心原理》学习笔记Day11
- 【宜搭】低代码开发师高级认证实操题1难点指导
- 使用Spring框架进行Web项目开发(初级)