Сохраните несколько заданий и продолжайте выполнять их в фоновом режиме

#python #apscheduler

Вопрос:

Контекст: Я пытаюсь создать 3 расписания — одно, которое собирает данные о запасах ежедневно, еженедельно и ежемесячно (а затем помещает эти данные в MySQL).

Вопрос: Есть ли способ выполнить эти 3 задания в фоновом режиме? Я использую visual code studio, и когда я закрываю среду разработки, планировщик, кажется, перестает работать в фоновом режиме. Я тестировал это, сохранив определенные данные в csv-файле, но, похоже, это работает только тогда, когда у меня открыта среда разработки и терминал.

Ответ №1:

Что APScheduler позволяет вам делать, так это просто «откладывать» действия в соответствии с заранее определенным расписанием, а не запускать задачу как демон (или в фоновом режиме, если вы предпочитаете).

Отсюда есть два пути. Либо вы вручную запускаете демона в python, как описано здесь, либо позволяете своей операционной системе запускать приложение в качестве демона для вас.

Более общим решением, вероятно, было бы позволить вашему коду создать демона, хотя (по крайней мере, в Linux), вероятно, будет проще позволить вашей операционной системе справиться с этим.

Однако, поскольку я не знаю, что такое ваша ОС, и поскольку запустить демона с python не так уж сложно, я бы рекомендовал использовать способ, основанный на python.

Комментарии:

1. Если ваш скрипт python хорошо работает при открытой среде IDE, вы можете выполнить поиск планировщика приложений в операционной системе Windows 10, выбрать файл python и следовать инструкциям. Я думаю, что это сработает на 100%. И еще один способ, которым вы можете открыть командную строку от имени администратора, а затем перейти к пути к файлу python после пути, просто введите «python», затем пробел, затем имя файла pythin с расширением и введите, затем проверьте, работает ли он, а затем сделайте его пакетным файлом. И добавьте в программу запуска