定时任务时间表达式详解(详解定时任务中的)

一、时间表达式概述

时间表达式是指一种用来描述时间的规则语言。通过时间表达式,我们可以更便捷地表示出定时任务的执行时间、周期、延时等特性。

在实际开发中,时间表达式被广泛应用于定时任务模块。接下来我们将从时间表达式的格式、时间单位、常用表达式等多个方面进行详细阐述。

二、时间表达式格式

时间表达式的格式可以是多样的,但一般都包含以下几个部分:

秒 分 小时 日期 月份 星期 年份

各部分都可以使用数字或通配符(*)来表示,例如:

* * * * * *

这个时间表达式表示每秒都执行一次定时任务。再例如:

0 0 12 * * *

这个时间表达式表示在每天的12点整执行一次定时任务。

三、时间单位

时间单位是指描述时间规则的基本单位。常用的时间单位有:

  • 秒(second)
  • 分(minute)
  • 小时(hour)
  • 日期(day)
  • 星期(week)
  • 月份(month)
  • 年份(year)

时间单位在时间表达式中是对应的字符串缩写形式,例如秒为”s”、小时为”h”等。

四、常用表达式

4.1 每天固定时间

表达式格式:秒 分 时 * * *

示例:

0 0 8 * * *

该表达式表示每天8点整执行一次定时任务。

4.2 每周固定时间

表达式格式:秒 分 时 * * 星期

示例:

0 0 8 * * 1

该表达式表示每周一的8点整执行一次定时任务。

4.3 每月固定日期时间

表达式格式:秒 分 时 日 * *

示例:

0 0 8 1 * *

该表达式表示每月1号的8点整执行一次定时任务。

4.4 每小时执行

表达式格式:秒 0 * * * *

示例:

0 0 * * * *

该表达式表示每小时的整点执行一次定时任务。

4.5 每分钟执行

表达式格式:秒 * * * * *

示例:

* * * * * *

该表达式表示每分钟执行一次定时任务。

五、实例代码

下面是基于Python语言的定时任务代码示例:

import time
from apscheduler.schedulers.blocking import BlockingScheduler

def job():
    print("执行任务")

# 实例化调度器
sched = BlockingScheduler()

# 每天8点定时执行任务
sched.add_job(job, 'cron', hour=8)

sched.start()

Published by

风君子

独自遨游何稽首 揭天掀地慰生平