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 МБ.

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