apscheduler定时任务报错skipped: maximum number of running instances reached (1)
原因是默认max_instances最大定时任务是1个,可以通过在add_job中调max_instances增加数量。
scheduler.add_job(main, my_CronTrigger.my_from_crontab(cron), max_instances=3) # 每天6点执行一次 0 0 09 * * * *
这点挺好的,默认1个 如果定时任务时间到了,但是业务函数还没执行完,这里相当于是自己给了一把锁,不会并发执行,避免脏数据
当然,如果业务逻辑里已经做了优化,允许并发执行,也不会导致数据出错,可以进行配置多个任务