首页 > 解决方案 > 当 IDE 关闭时,APScheduler 不会唤醒计划的作业

问题描述

我是 APScheduler 包的新手。我已经在 MySQL 作业存储中安排了一个后台作业。该脚本运行良好,没有任何问题。我以 2 分钟的间隔安排了这项工作。只要我的 IDE (sypder) 开启,这项工作就会被执行。每当我关闭我的 IDE 时,该作业都不会进一步执行。

我也尝试过将间隔设置为秒和小时,但问题是一样的。请帮忙

下面是我的代码:

scheduler = BackgroundScheduler(.........)

......

scheduler.add_job(performjob,
                 'interval',
                  #days=1,
                  minutes = 2,
                  id='Test_Job',
                  start_date='2018-04-26 00:00:00',
                  end_date='2099-01-01 00:00:00',
                  args=[ob1,ob2],
                  name = "First Job for testing")
scheduler.add_listener(my_listener, EVENT_JOB_EXECUTED | EVENT_JOB_ERROR | EVENT_JOB_MISSED | EVENT_SCHEDULER_STARTED)

try:
    scheduler.start()    
except Exception as e:
    pass

标签: python-3.xapscheduler

解决方案


您需要在单独的进程中启动调度程序。将启动命令放入 bash 文件中,将其命名为 scheduler_start.sh

然后在终端

scheduler_start.sh; < ctrl > Z; bg; disown -h %1

还有其他几种方法可以在后台运行命令。阅读更多关于它的信息。


推荐阅读