Apscheduler Процесс BackgroundScheduler() не работает в фоновом режимеLinux

Ответить Пред. темаСлед. тема
Anonymous
 Apscheduler Процесс BackgroundScheduler() не работает в фоновом режиме

Сообщение Anonymous »


Я работаю над проектом. Ниже приведены файлы, в которых возникла проблема.

cli.py

импортировать клик журнал импорта из qlog.utils импортировать ConfigLogRead из qlog.qlog импортировать QLogAgent из apscheduler.schedulers.background импорт BackgroundScheduler qlogagent = QLogAgent() планировщик = BackgroundScheduler (демон = True) configreader = ConfigLogRead() @click.command() @click.option('--interval', type=int, default=1, help='Интервал для планировщика в минутах') защита start_scheduler (интервал): """ Этот интерфейс реализует логику запуска планировщика""" # добавляем логику для запуска планировщика # и предоставить функцию QLogAgent.read_logs планировщику приложений Scheduler.add_job(qlogagent.read_and_push_logs, 'интервал', минуты = интервал) # и предоставить функцию QLogAgent.read_logs планировщику приложений планировщик.start() logging.info('Планировщик запущен') пытаться: # Оставьте скрипт работающим (используйте Ctrl+C, чтобы остановить его) пока правда: проходить кроме (KeyboardInterrupt, SystemExit): # Грамотное завершение работы планировщика при выходе из сценария планировщик.shutdown() logging.error("Планировщик закрыт корректно") @click.command() защита stop_scheduler(): если планировщик.работает: планировщик.shutdown() logging.info("Планировщик выключен") еще: logging.info("Планировщик не работает") @click.command() защита status_scheduler(): """ Этот интерфейс командной строки реализует логику состояния планировщика""" если планировщик.работает: logging.info("Планировщик работает.") еще: logging.warning("Планировщик не работает.") setup.py

""" Этот файл используется для упаковки исходного кода и интерфейса командной строки""" из настройки импорта setuptools настраивать( имя = 'qlog', версия = '0.1.0', py_modules=['qlog.cli'], install_requires=[ «Клик», «APScheduler», «дата и время», «configparser», «инструменты настройки» ], enter_points={ 'console_scripts': [ 'start=qlog.cli:start_scheduler', 'stop=qlog.cli:stop_scheduler', 'status=qlog.cli:status_scheduler', ], }, ) Я получаю результат:

когда я запускаю команду start на терминале, она не запускается в фоновом режиме. для выхода из скрипта нужно нажать ctl+C я использую виртуальную среду в Ubuntu.

Ожидаемый результат:

когда я даю команду запуска, она должна вернуть мне оболочку для ввода других команд и должна работать в фоновом режиме, пока не будет остановлена ​​вручную.

$ начало $ Версия Python: Python 3.10.12

Платформа: #40~22.04.1-Ubuntu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Задание APScheduler mongo с несколькими хостами
    Anonymous » » в форуме Python
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Как проверить статус запланированного задания с помощью APScheduler?
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как запустить каждую пропущенную задачу Apscheduler при перезапуске процесса?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как динамически планировать задачи, используя запросы на колбы (apscheduler)?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как может держать исполнителя Apscheduler в разных приложениях и добавление работы в разных приложениях
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»