celery--定时任务

简介: celery--定时任务

定时任务配置信息属性:

  • task:要执行的任务名字
  • schedule :执行的频率 。
  • args:位置参数 (list 或 tuple).
  • kwargs:键值参数 (dict).
  • options:执行选项 (dict).
  • 这可以是任何被apply_async()支持的参数。
  • relative:如果 relative 是 true ,时间表“由时钟时间”安排,意味着 频率近似到最近的秒,分钟,小时或天,这取决于时间差中的时间间隔。
  • 默认relative是false,频率不会近似,会相对于celery的启动时间。


crontab参数:

  • crontab()实例化的时候没设置任何参数,都是使用默认值,表示1分钟。crontab常用有5个参数:
  • minute:分钟,范围0-59;
  • hour:小时,范围0-23;
  • day_of_week:星期几,范围0-6。以星期天为开始,即0为星期天。这个星期几还可以使用英文缩写表示,例如“sun”表示星期天;
  • day_of_month:每月第几号,范围1-31;
  • month_of_year:月份,范围1-12。

注意:默认值都是"*"星号,代表任意时刻


举例:

  • crontab() 每分钟执行
  • crontab(minute=15) 每小时的15分时刻执行一次任务
  • crontab(minute=0, hour=0) 每天0点0分时刻执行任务
  • crontab(minute='59',hour='11') 每天的11点59分执行一次任务
  • crontab(minute='0,30')
  • 0分和30分执行一次任务,逗号是表示多个表达式or逻辑关系
  • crontab(hour='9-12,20')
  • 指定9点到12点和20点中每分钟执行任务
  • 其他举例:
  • crontab(minute=0, hour=0) 每天午夜执行
  • crontab(minute=0, hour=’*/3’) 每三个小时执行: 午夜, 3am, 6am, 9am, 正午, 3pm, 6pm, 9pm.
  • crontab(minute=0,hour=’0,3,6,9,12,15,18,21’) 同上
  • crontab(minute=’*/15’) 每15分钟执行
  • crontab(day_of_week=’sunday’) 星期日每分钟
  • crontab(minute=’‘,hour=’‘, day_of_week=’sun’) 同上
  • crontab(minute=’*/10’,hour=’3,17,22’, day_of_week=’thu,fri’) 每10分钟执行,仅限于周六日3-4 am, 5-6 pm, and 10-11 pm
  • crontab(minute=0, hour=’/2,/3’) 偶数小时或者能被3整除的小时数执行
  • crontab(minute=0, hour=’*/5’) 被5整除的小时数,如3pm
  • crontab(minute=0, hour=’*/3,8-17’) 8am-5pm能被3整除的
  • crontab(0, 0, day_of_month=’2’) 每月第2天
  • crontab(0, 0,day_of_month=’2-30/3’) 每偶数天
  • crontab(0, 0,day_of_month=’1-7,15-21’) 每月1和3周
  • crontab(0, 0, day_of_month=’11’,month_of_year=’5’) 每年5月11日
  • crontab(0, 0,month_of_year=’*/3’) 每个季度第1月

相关文章
|
存储 消息中间件 NoSQL
两万字长文让你彻底掌握 celery
两万字长文让你彻底掌握 celery
6384 3
|
5月前
|
存储 消息中间件 调度
Django+Celery 进阶:动态定时任务的添加、修改与智能调度实战
Celery Beat 是 Celery 的定时任务调度组件,支持固定间隔、CRON 表达式等规则,可实现任务的周期性执行。本文详解了其原理、配置方式、与 Django 的集成步骤及实战代码示例,适用于构建具备定时任务管理功能的后台系统。
507 0
|
7月前
|
存储 关系型数据库 数据库
斩获18.3K star!再见Airtable,这款Postgres驱动的开源表格神器要火!太 6了
Teable是一款基于PostgreSQL的开源无代码数据库平台,被誉为“最具潜力的Airtable开源替代方案”。它支持百万级数据秒级响应、实时协同编辑、多维度数据视图(表格、看板、日历等)及智能数据处理。采用Next.js+React前端、NestJS+PostgreSQL后端技术栈,提供插件开发SDK,支持云原生部署。适用于敏捷开发、跨部门数据中台、知识库管理等多种场景,性能卓越且开发者友好。项目地址:https://github.com/teableio/teable。
790 3
|
数据采集 NoSQL 调度
flask celery python 每月定时任务
flask celery python 每月定时任务
|
开发框架 JSON API
Python中FastAPI项目使用 Annotated的参数设计
Python中FastAPI项目使用 Annotated的参数设计
|
存储 分布式计算 安全
Hadoop的HDFS的特点高可靠性
【5月更文挑战第11天】Hadoop的HDFS的特点高可靠性
432 1
|
Python
【Python3报错】Fatal error in launcher: Unable to create process using ……
【Python3报错】Fatal error in launcher: Unable to create process using ……
1258 1
|
消息中间件 存储 NoSQL
Celery:高效异步任务队列的深度解析与应用实践
Celery 是一个流行的 Python 分布式任务队列,用于处理耗时的异步任务,提升Web应用性能。它包括消息中间件(如RabbitMQ、Redis)、任务生产者和消费者。Celery支持异步处理、分布式执行、任务调度、结果存储和错误处理。通过一个发送邮件验证码的实例,展示了如何安装配置、定义任务、触发任务以及查看执行结果。Celery的使用能有效优化应用响应速度和资源管理。
1884 3
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
337 0
|
Oracle Java 关系型数据库
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
662 0

热门文章

最新文章