APScheduler在上一次运行完成后重复作业

2024-09-26 22:50:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用GeventScheduler运行两个作业APScheduler。但我希望此作业在暂停的情况下运行,例如,在上一次运行完成所有任务后,重复此作业。我怎样才能做到这一点?在


Tags: 作业情况apschedulergeventscheduler
1条回答
网友
1楼 · 发布于 2024-09-26 22:50:27

这对我有用

def execution_listener(event):
    job_id = event.job_id
    if event.exception:
        logging.error('job_id={} error!'.format(event.job_id))
    else:
        logging.info('job_id={} success'.format(event.job_id))
        # check that the executed job is the first job
        if job_id == CONST.JOB_ID.WORKEXP_CUT:   
             run_job_now(job_id, arg_dict)# run ypur job


def run_job_now(job_id, arg_dict):
    logging.info('id={} start'.format(job_id))
    job = scheduler.get_job(job_id)
    if job:
        job.modify(next_run_time=datetime.datetime.now())
    else:
        scheduler.add_job(next_run_time=datetime.datetime.now(), **arg_dict) 

scheduler.add_listener(execution_listener, EVENT_JOB_EXECUTED | EVENT_JOB_ERROR)

相关问题 更多 >

    热门问题