当前位置: 首页 > wzjs >正文

做网站排名收益凡科建站官网入口

做网站排名收益,凡科建站官网入口,wordpress程序员博客,网站推广费用价格cron定时任务 一、Cron表达式的定义 基础结构 Cron表达式是由空格分隔的6或7个字段组成的字符串,格式为: 秒 分 时 日 月 星期 [年]其中,年通常可以被省略 字段说明: 秒(0-59) 秒字段表示每分钟的哪一…

cron定时任务

一、Cron表达式的定义

基础结构

Cron表达式是由空格分隔的6或7个字段组成的字符串,格式为:

秒 分 时 日 月 星期 [年]

其中,年通常可以被省略

字段说明

  1. (0-59)

    秒字段表示每分钟的哪一秒执行任务。取值范围为0-59。

    例如,如果要每分钟的第30秒执行任务,可以使用30 * * * * ?的格式。

  2. (0-59)

    分字段表示每小时的哪一分钟执行任务。取值范围为0-59。

    例如,如果要每小时的第15分钟执行任务,可以使用* 15 * * * ?的格式。

  3. (0-23)

    时字段表示每天的哪一个小时执行任务。取值范围为0-23。

    例如,如果要每天的凌晨2点执行任务,可以使用* * 2 * * ?的格式。

  4. (1-31)

    日字段表示每月的哪一天执行任务。取值范围为1-31。

    例如,如果要每月的第一天执行任务,可以使用* * * 1 * ?的格式。

  5. (1-12或JAN-DEC)

    月字段表示每年的哪一个月执行任务。取值范围为 1-12 或用字符串 JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC 表示。

    例如,如果要每年的1月1日执行任务,可以使用* * * 1 1 ?的格式。

  6. 星期(0-6或SUN-SAT,0/7为周日)

    周字段表示每周的哪一天执行任务。取值范围为0-6,也可以用字符串 SUN, MON, TUE, WED, THU, FRI, SAT 表示,其中0表示周日,1表示周一,以此类推。例如,如果要每周的周五执行任务,可以使用* * * * * 5 ?的格式。

二、特殊字符

字符含义示例
*表示所有取值范围内的值,可解读为 “每* * * * * * 每秒执行
?不指定值(仅用于日和星期冲突时)0 0 5 * ? 每天5点
-范围0 9-17 * * * 9点到17点每小时
/步长*/5 * * * * 每5分钟
,枚举0 0 8,12,18 * * 每天8/12/18点
L最后一天0 0 L * * 每月最后一天
W最近工作日0 0 15W * * 15日最近的工作日
#用于指定某个月份的第几个周几,只能作用于 “周” 上0 0 * * 5#2 每月第2个周五

以下是Cron表达式中特殊字符的详细解析(基于2025年最新实践):

1、核心特殊字符

  1. *(通配符)

    • 匹配该字段所有有效值
    • 示例:0 * * * * ? 每分钟的0秒触发
  2. ?(不指定)

    • 仅用于星期字段,解决两者冲突
    • 示例:0 0 12 1 * ? 每月1日中午执行(忽略星期)
  3. /(步长)

    • 表示时间间隔增量
    • 示例:0/15 * * * * ? 每15秒触发

2、范围与枚举

  1. ,(枚举)

    • 指定多个离散值
    • 示例:0 0 8,12,18 * * ? 每天8/12/18点执行
  2. -(范围)

    • 定义连续时间段
    • 示例:0 0 9-17 * * MON-FRI 工作日9-17点每小时执行

3、高级逻辑字符

  1. L(最后一天)

    • 字段:L表示月末最后一天
    • 星期字段:L表示当月最后一个周日
    • 示例:0 0 12 L * ? 每月最后一天中午执行
  2. W(最近工作日)

    • 自动调整到最近的工作日(周一至周五)
    • 示例:0 0 12 15W * ? 每月15日最近的工作日执行
  3. #(第N个星期几)

    • 指定某月第N个特定星期
    • 示例:0 0 12 ? * 5#2 每月第二个周五中午执行

4、特殊组合

组合说明示例
LW当月最后一个工作日0 0 12 LW * ?
L-3月末倒数第3天0 0 12 L-3 * ?
5W5日最近的工作日0 0 12 5W * ?

三、预定义规则

1、核心预定义规则

  1. 基础周期规则

    • @yearly@annually
      每年1月1日 00:00 执行(等效于0 0 1 1 *
    • @monthly
      每月1日 00:00 执行(等效于0 0 1 * *
    • @weekly
      每周日 00:00 执行(等效于0 0 * * 0
    • @daily@midnight
      每天 00:00 执行(等效于0 0 * * *
    • @hourly
      每小时整点执行(等效于0 * * * *
  2. 自定义间隔规则

    • @every <duration>
      支持任意时间间隔(需符合time.ParseDuration格式)
      示例:
      @every 1h30m10s  // 每1小时30分钟10秒
      @every 5m        // 每5分钟
      @every 10s       // 每10秒
      

2、特殊说明

  1. 执行逻辑差异

    • @every的间隔从任务开始运行时计算(非自然时间对齐)
      例如:@every 1h若任务耗时3分钟,则下次执行在57分钟后
  2. 时区处理
    预定义规则默认使用本地时区,可通过以下方式修改:

    // 方法1:全局设置时区
    loc, _ := time.LoadLocation("Asia/Shanghai")
    c := cron.New(cron.WithLocation(loc))// 方法2:单任务指定时区
    c.AddFunc("CRON_TZ=Asia/Tokyo @daily", task)
    

3、使用示例

package main
import ("fmt""github.com/robfig/cron/v3"
)
func main() {c := cron.New()// 添加预定义规则任务c.AddFunc("@hourly", func() { fmt.Println("每小时执行") })c.AddFunc("@every 30m", func() { fmt.Println("每30分钟执行") })c.Start()defer c.Stop()select{}
}
http://www.dtcms.com/wzjs/22450.html

相关文章:

  • 珠海网站建设策略如何营销
  • wordpress 招聘网站模板百度文库官网
  • 做外贸的阿里巴巴网站是哪个小说推广关键词怎么弄
  • 怎么能自己做网站锦绣大地seo官网
  • 做网站需要懂那些软件短视频平台推广
  • 淘宝网站建设的目的重庆seo网站排名
  • 四川建设网中标候选人公示武汉百度推广优化
  • 无锡便宜做网站广告网站推荐
  • 网站开发工程师证济南网站seo公司
  • 网站建设中翻译苏州seo网络推广
  • 电子商务网站建设下载电商推广联盟
  • 徐州智能模板建站如何创建网站的快捷方式
  • 个人简介ppt免费模板谷歌seo外包公司哪家好
  • ps手机网站页面设计网络营销到底是个啥
  • cms导入wordpress百度seo和sem的区别
  • 沈阳做网站的企业seo关键词优化培训班
  • 如何做jquery音乐网站定制网站建设推广服务
  • 如何用模版做网站苏州seo网站优化软件
  • 阿里云最新消息windows优化大师收费吗
  • 做资质去哪个网站填资料搜索引擎优化的核心是
  • 沈阳网站制作培训网页生成器
  • 厦门市市场开发建设服务中心网站博客可以做seo吗
  • 睢县做网站跨境电商关键词工具
  • 有什么国外的黄网站网站站点查询
  • 建设一个用教育网站百度怎么做关键词优化
  • 页面设计器翻译成英文seo人员工作内容
  • 能自己在家做网站吗软媒win7优化大师
  • 投资者教育网站建设搜索引擎是什么意思啊
  • 网站案例介绍seo排名快速
  • 北京专业网站设计报价山西seo和网络推广