通过 APSCHEDULER 每次在 1 分钟和 31 分钟将 python 中的 cron 作业安排到 运行 一个 python 脚本

Scheduling a cron job in python to run a python script every time at 1 and 31 minutes through APSCHEDULER

我必须每 1 分钟和第 31 分钟 运行 执行 AP 调度程序 cron 作业。例如,如果它在 10.01 运行s 并且它应该再次 运行 10.32,那么它应该再次 运行 11.03 和 11.34 并且它应该在除周六和周日之外的所有日子重复。 我试过了,但没用

我应该怎么做

sched.jobs(jobs,'cron',day_of_week='mon-fri', hour=*, minute=**)

以上内容无效 Python,而且可能不会 运行。

  • * 没有引号被解释为乘法运算符,但它在非法的地方。
  • 此外,cron 表达式 */31 * * * Mon-Fri 表示 运行 分钟可被 31 整除。您想要的 cron 表达式是 1,31 * * * 1-5
  • 我不相信有 jobs 函数。

首先你需要定义一个要调用的函数(我不确定你表达式中的jobs是单个函数还是函数集合,但应该只是一个函数):

def job():
    print("job starting")
    call(['touch', 'emptyfile'])

然后,使用 add_job 添加它(不是 jobs

// create scheduler using a subclass of BaseScheduler
scheduler = BackgroundScheduler()
scheduler.configure(timezone='utc')

// cron would look like 1,31 * * * 1-5
scheduler.add_job(job, 'cron', day_of_week='1-5', hour='*', minute='1,31')
scheduler.start()

可以参考https://crontab.guru/ and https://apscheduler.readthedocs.io/en/stable/userguide.html