2015-10-15 5 views
3

Я хотел бы запустить APScheduler, который является частью WSGI (через modussgi Apache с 3 рабочими) webapp. Я новичок в WSGI мире, таким образом, я был бы признателен, если вы могли бы разрешить мои сомнения:python: APScheduler в приложении WSGI

  1. Если APScheduler является частью веб-приложения - это становится живой только после первого запроса (первый после запуска/сброс Apache), который запускается по крайней мере, одним рабочим? Запуск/сброс Apache не запустится - требуется хотя бы один запрос.

  2. Как насчет одновременных запросов - будет ли каждый рабочий запускать один и тот же набор задач APScheduler или будет только один набор, общий для всех работников?

  3. Будет ли выполняться процесс (webapp, выполняемый с помощью рабочего), сохранить работоспособность (так будут выполняться задачи APScheduler), или он может завершиться после некоторого простоя (как следствие - задачи APScheduler не будут выполняться)?

Спасибо!

+0

Рабочие потоки или рабочие процессы? –

+0

3 темы, 1 процесс – KoDPI

ответ

2

Вы правы - планировщик не запускается до тех пор, пока не поступит первый запрос. Поэтому запуск планировщика в рабочем столе WSGI - это не очень хорошая идея. Лучшей идеей было бы запустить планировщик в отдельном процессе и при необходимости подключиться к планировщику с помощью некоторого механизма RPC, такого как RPyC или Execnet.

+0

Alex: Как насчет вопроса №2: параллельные запросы? Благодарю. – Raj

+0

Рабочие потоки Mod_wsgi не запускают задания APScheduler; для этого он поддерживает свой собственный пул потоков. –