使用APScheduler库中的CRON表达式来指定执行任务的时间。
例如,要在EST时区的每天00:00执行脚本,可以使用以下代码:
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
import pytz
# 设置时区为EST
est_tz = pytz.timezone('US/Eastern')
def job():
# 运行的任务
print("Job is running at", datetime.now(est_tz))
# 创建一个BlockingScheduler实例
scheduler = BlockingScheduler(timezone=est_tz)
# 使用CRON表达式来指定每天在00:00执行任务
scheduler.add_job(job, 'cron', hour=0)
# 启动调度程序
scheduler.start()
在这个例子中,job()
函数将在EST时区的每天00:00执行。datetime.now(est_tz)
将返回以EST时区为准的当前时间。
需要注意的是,必须使用BlockingScheduler
并传递timezone
参数来确保任务在正确的时区中运行。其他类型的调度程序可能无法正确处理时区。