运行 每 4 天执行一次,但第一个 运行 现在应该执行

Run Job every 4 days but first run should happen now

我正尝试将 APScheduler 设置为每 4 天 运行,但我现在需要 运行ning 开始作业。我尝试使用 interval 触发器,但我发现它会在 运行ning 之前等待指定的时间段。我还尝试通过以下方式使用 cron:

sched = BlockingScheduler()
sched.add_executor('processpool')

@sched.scheduled_job('cron', day='*/4')
def test():
    print('running')

我得到的最后一个想法是过去使用 start_date

@sched.scheduled_job('interval', seconds=10, start_date=datetime.datetime.now() - datetime.timedelta(hours=4))

但是在 运行ning 之前仍然等待 10 秒。

试试这个:

@sched.scheduled_job('interval', days=4, next_run_time=datetime.datetime.now())

与上面的答案类似,唯一不同的是它使用了add_job方法。

scheduler = BlockingScheduler()
scheduler.add_job(dump_data, trigger='interval', days=21,next_run_time=datetime.datetime.now())