Сделайте так, чтобы один экземпляр нескольких работников uWSGI выполнял дополнительную функцию - PullRequest
0 голосов
/ 15 октября 2018

У меня на uWSGI запущено приложение фляги python с файлом конфигурации, в котором указано, что оно порождает несколько рабочих (я предполагаю, что это идентичные процессы).

Все работает хорошо, за исключением одной части: приложения pythonзапускает команду bash, чтобы загружать обновление базы данных каждый день с помощью планировщика, который должен запускаться только один раз, но несколько процессов означает, что он запускается несколько раз одновременно, что приводит к повреждению загруженного файла.

Есть лиспособ запустить эту команду bash только на одном экземпляре работников uWSGI?Я не могу запустить команду bash как отдельное задание cron (обновление базы данных должно легко интегрироваться с приложением).

1 Ответ

0 голосов
/ 15 октября 2018

Проверка Хроноподобный интерфейс uWSGI

Мастер uWSGI имеет внутреннее хроноподобное средство, которое может генерировать события в предопределенное время.Вы можете использовать его

Например, вы можете установить следующие параметры:

[uwsgi]
; every two hours
cron = 0 -2 -1 -1 -1 /usr/bin/backup_my_home --recursive

Достаточно ли этого?

...