一。问题:
from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job
# 实例化调度器
sche = BackgroundScheduler()
# scheduler.configure(job_defaults=job_defaults)
# 调度器使用DjangoJobStore()
sche.add_jobstore(DjangoJobStore(), "default")
try:
@register_job(sche, 'interval', seconds=3, id='task_time')
def crawl_job():
print('hah')
# 监控任务
register_events(sche)
# 调度器开始
sche.start()
except Exception as e:
print(e)
sche.shutdown()
定时任务如上,第一次启动时,可以进行定时任务。第二次启动时,会有报错,显示作业 id 冲突,导致作业运行不起来
二。解决:
将 job 的 添加参数 replace_existing=True ,如果 id 存在,则替换,就可以解决了