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 点执行。


发布评论