2024年3月24日发(作者:)

apscheduler 中cron的参数使用方法

APScheduler 是一个高级的 Python 任务调度库,它允许您以类似于

Cron 的方式安排任务的定期执行。在 APScheduler 中使用 CRON 参

数,您需要创建一个 `CronTrigger` 对象,并将其与作业(job)关联

起来。以下是如何设置 `CronTrigger` 的参数:

1. 首先,您需要确定 CRON 表达式,它定义了作业执行的时间表。

CRON 表达式通常由六或七个空格分隔的时间字段组成,分别表示:

- 分钟(0-59)

- 小时(0-23)

- 月份中的日子(1-31)

- 月份(1-12)

- 星期中的日子(0-7,其中 0 和 7 都代表星期天)

- 年份(可选字段)

2. 然后,您创建一个 `CronTrigger` 实例,并将 CRON 表达式作为参

数传递给它。

例如,如果您想要每天早上 8 点执行一个作业,您可以这样做:

```python

from import CronTrigger

trigger = CronTrigger(day='*', hour='8')

```

如果您想要每月的第一天的上午 8 点执行作业,可以这样做:

```python

from import CronTrigger

trigger = CronTrigger(day='1', hour='8')

```

如果您需要更复杂的调度,比如每周的星期三和星期五的下午 3 点

执行作业,可以这样设置:

```python

from import CronTrigger

trigger = CronTrigger(day=['3', '5'], hour='15')

```

请注意,APScheduler 中的 CRON 语法与传统的 Unix CRON 语法略

有不同。在 APScheduler 中,您使用 `day` 字段来指定月份中的日子

和星期中的日子,使用 `month` 字段来指定月份。如果您不需要月

份或星期的字段,可以使用 `*` 作为通配符来表示“每个”。

在创建了 `CronTrigger` 实例后,您可以将其与作业(通过作业函数

或作业对象)关联起来,然后添加到调度器中。例如:

```python

from ound import BackgroundScheduler

scheduler = BackgroundScheduler()

def my_job():

print("My job ")

trigger = CronTrigger(day=['1', '3'], hour='10')

_job(my_job, trigger=trigger)

()

```

上述代码将启动一个后台调度器,并安排 `my_job` 函数在每月的第

一天和第三天的上午 10 点执行。