apscheduler 使用cron表达式
时间: 2024-04-25 18:20:34 浏览: 350
APScheduler是一个用于Python的灵活的任务调度库,可以根据各种时间间隔和规则来执行任务。它支持多种调度方式,其中一种常用的方式是使用cron表达式。
cron表达式是一种用于指定时间和日期的字符串格式。它由6个字段组成,分别表示秒、分钟、小时、日期、月份和星期几。每个字段都可以使用特定的符号来表示时间范围或间隔。
以下是cron表达式的格式:
```
秒 分钟 小时 日期 月份 星期几
* * * * * *
```
其中,每个字段可以使用以下符号来表示时间范围或间隔:
- `*`:表示任意值,即不限制该字段的取值范围。
- `*/n`:表示每隔n个单位执行一次,例如`*/5`表示每隔5分钟执行一次。
- `n`:表示具体的数值,例如`30`表示30秒或30分钟。
- `n-m`:表示一个范围,例如`1-5`表示1到5之间的值。
- `n,m`:表示多个值,例如`1,3,5`表示1、3和5。
以下是一些示例cron表达式:
- `* * * * *`:每分钟执行一次。
- `0 0 * * *`:每天的0点整执行一次。
- `0 0 12 * *`:每天的中午12点执行一次。
- `0 0 12 * 1-5`:每周一到周五的中午12点执行一次。
相关问题
apscheduler 执行cron 表达式的例子
下面是一个使用APScheduler库执行cron表达式的例子,它会在每天的早上9点执行一次任务:
```python
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def job():
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
scheduler = BlockingScheduler()
scheduler.add_job(job, 'cron', hour=9)
scheduler.start()
```
在这个例子中,我们定义了一个打印当前时间的函数`job`。然后,创建了一个调度器并添加了一个使用cron表达式的定时任务,该任务会在每天的早上9点执行`job`函数。最后,启动调度器并开始执行任务。
需要注意的是,`hour=9`表示在每天的9点整执行任务,如果需要更精确的时间控制,可以使用更复杂的cron表达式。例如,`'0 0 9-17 * * *'`表示在每天的9~17点整每隔1分钟执行一次任务。
apscheduler 执行cron 表达式的例子:0 */5 * * *
下面是一个使用APScheduler库执行cron表达式的例子,它会每隔5分钟执行一次任务:
```python
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def job():
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
scheduler = BlockingScheduler()
scheduler.add_job(job, 'cron', minute='*/5')
scheduler.start()
```
在这个例子中,我们定义了一个打印当前时间的函数`job`。然后,创建了一个调度器并添加了一个使用cron表达式的定时任务,该任务会每隔5分钟执行`job`函数。最后,启动调度器并开始执行任务。
需要注意的是,`minute='*/5'`表示在每个小时内每隔5分钟执行一次任务,如果需要更精确的时间控制,可以使用更复杂的cron表达式。例如,`'0 0/5 * * * *'`表示每隔5分钟执行一次任务。
阅读全文