APScheduler не запускает запланированные задания, когда IDE закрыта - PullRequest
0 голосов
/ 27 апреля 2018

Я новичок в пакете 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

1 Ответ

0 голосов
/ 19 мая 2018

Вам нужно запустить планировщик в отдельном процессе. Поместите команду запуска в файл bash, назовите его scheduler_start.sh

Затем в терминале

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

Есть несколько других способов запуска команды в фоновом режиме. Прочитайте Подробнее об этом.

...