Запуск ApScheduler в Gunicorn без дублирования на одного воркера

Название в основном говорит само за себя. У меня есть gunicorn, работающий с моим приложением с 5 рабочими. У меня есть структура данных, доступ к которой нужен всем рабочим, которая обновляется по расписанию с помощью apscheduler. В настоящее время apscheduler запускается один раз для каждого рабочего, но я просто хочу, чтобы он запускался один раз. Есть ли способ сделать это? Я пытался использовать параметр --preload, который позволяет мне загружать общую структуру данных только один раз, но, похоже, не позволяет всем рабочим процессам иметь к ней доступ при ее обновлении. Я готов перейти на uWSGI, если это поможет.


person Eli    schedule 10.08.2015    source источник


Ответы (1)


Я не знаю, как это сделать, по крайней мере, без RPC. То есть запускать APScheduler в отдельном процессе и потом подключаться к нему с каждого воркера. Для этого вы можете поискать такие проекты, как RPyC и Execnet.

person Alex Grönholm    schedule 10.08.2015