运行 每月第一个和第三个星期一的前一天 APScheduler 作业

Running APScheduler job the day before the 1st and 3rd Monday each month

我有一个 APScheduler 作业,它创建了我们的客户在每个月的第一个和第三个星期一请求的报告。

为了及时交付,我想在第一个和第三个星期一之前运行工作,这不能直接在 APScheduler 中指定。

我注意到另一个用户也有这个问题,在

的评论中描述该请求是不可能的

我是这样解决的:

scheduler.add_job(func, 'cron', 'day_of_week'='sun', 'day'='last,1-6,14-20')

通过指定星期几,然后指定可以应用的月份中的几天,它将在第一个和第三个星期一的前一天触发。它仅在满足所有条件时触发,因此其他日期(不会是星期日)不会触发。