LinuxForum.Fans
Тема

uwsgi Flask App. Service RestartSec=100ms expired, scheduling restart

Автор: Daedal 3 сообщений 2839 просмотров
08.04.2022 14:41 · отредактировано #437427

Доброго дня!

Пытаюсь сделать автозапуск, пользуюсь самым простым примером из : https://uwsgi-docs.readthedocs.io/en/latest/Upstart.html

simple script

Создаю файл /etc/init/uwsgi.conf :

start on runlevel [2345]
stop on runlevel [06]

respawn
exec uwsgi /path to .ini/flaskcfg.ini

- Перезапускаю железо - результата нет.

При этом, запуская с консоли uwsgi /path to .ini/flaskcfg.ini - приложение запускается.

Что я делаю не так, где ошибаюсь в 4-х строчках кода?
Добавлено: 08.04.2022 11:53:18

Пытаюсь сделать через запуск сервиса:
Файл конфигурации(.ini):

text

[uwsgi]
socket = <address>:<port>

threads = 1 need-app = True callable = app

master = False

chdir = /<path to flask app>/

module = <name app>:app

pythonpath = /usr/bin/python3.7

gid = www-data uid = www-data

buffer-size = 65535

#protocol = http

touch-reload=/tmp/uwsgimaster.pid

enable-threads = True die-on-term = True

harakiri = 60

max-requests = 1000

stats = /tmp/uwsgistats.socket

catch-exceptions = True

vacuum = true

Файл сервиса(.service):

text

[Unit]
Description=uWSGI Emperor
After=syslog.target network.target

[Service] ExecStart=/usr/bin/uwsgi --ini /<path to .ini file>/<.ini file> # Requires systemd version 211 or newer RuntimeDirectory=uwsgi RuntimeDirectoryMode=755 PermissionStartOnly=true

Restart=on-failure

TimeoutSec=10

KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all User=<user>

[Install] WantedBy=multi-user.target

При запуске сервиса ошибка с кодом 22:


flasksrv.service - uWSGI Emperor
Loaded: loaded (/etc/systemd/system/flasksrv.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-03-22 17:50:12 MSK; 3s ago
Process: 7261 ExecStart=/usr/bin/uwsgi --ini /<path to .ini file>/<.ini file> (code=exited, status=22)
Main PID: 7261 (code=exited, status=22)
Status: "initializing uWSGI"

Mar 22 17:50:12 rockpi4c systemd[1]: flasksrv.service: Service RestartSec=100ms expired, scheduling restart.
Mar 22 17:50:12 rockpi4c systemd[1]: flasksrv.service: Scheduled restart job, restart counter is at 5.
Mar 22 17:50:12 rockpi4c systemd[1]: Stopped uWSGI Emperor.
Mar 22 17:50:12 rockpi4c systemd[1]: flasksrv.service: Start request repeated too quickly.
Mar 22 17:50:12 rockpi4c systemd[1]: flasksrv.service: Failed with result 'exit-code'.
Mar 22 17:50:12 rockpi4c systemd[1]: Failed to start uWSGI Emperor.

Подскажите, пожалуйста, как мне понизить частоту запуска или в чём тут вообще проблема?
Спасибо.
Добавлено: 08.04.2022 14:04:24

Добавил в .service:
RestartSec = 5
- Ошибка с кодом 22 осталась, но сейчас уже нет сообщения о слишком частом перезапуске в 100ms.

Добавлено: 08.04.2022 14:41:24

Может как-то по-другому можно делать автозапуск?
Поделитесь, пожалуйста, кто знает?

10.04.2022 22:05 #437434

RestartSec возможно нужно поставить не 5, а 10
И посмотреть на аналогичные реализации как тут
https://hackersandslackers.com/deploy-flask-uwsgi-nginx/
Комментарии так же глянуть возможно что-то для себя найдете полезное.

14.04.2022 11:45 #437443

Вопрос решён.

Был указан не тот путь к uwsgi в .service.

Войдите или зарегистрируйтесь, чтобы ответить.