Форум сайта python.su
s0rgМне кажется это не будет работать, потому что воркер убивается 9 сигналом и никто его ждать не будет.
За него не скажу, но у flask есть специальный обработчик всех ошибок, типа финализатор запроса, возможно, что-то подобное есть в и пирамиде.
DAMN ! worker 2 (pid: 4247) died, killed by signal 9 :( trying respawn ... Respawned uWSGI worker 2 (new pid: 4457)
s0rgЗапрос не успевает закончиться.
типа финализатор запроса
Отредактировано Budulianin (Авг. 21, 2014 18:04:56)
Офлайн
Я ещё думаю, что проблема может быть в time out uWSGI.
Главный процесс видит, что воркер тупит с запросом и убивает его.
Наверняка есть настройка time out uWSGI. Может если поставить его больше, то воркер не будут убивать.
Но это не исправит архитектуру приложения.
Офлайн
BudulianinНастройка-то есть. Только это настройка именно uWsgi.
Наверняка есть настройка time out uWSGI
Офлайн
BudulianinА как это произошло? Это проверка sleep-ом?
Мне кажется это не будет работать, потому что воркер убивается 9 сигналом и никто его ждать не будет.
Отредактировано s0rg (Авг. 21, 2014 18:32:19)
Офлайн
s0rgНет, ты посоветовал “прибирать” БД в “финализаторе”, типо если воркер будет падать, то этот “финализатор” отработает и почистит БД.
А как это произошло? Это проверка sleep-ом?
Отредактировано Budulianin (Авг. 21, 2014 19:26:50)
Офлайн
А! Теперь понял.
По поводу финализатора - это была мысль, касательно ‘отвалившихся’ клиентов и только о них.
Офлайн
s0rgУ меня: клиент -> nginx -> uWSGI.
А есть еще сервер выше.
Отредактировано Budulianin (Авг. 21, 2014 20:50:24)
Офлайн
Мне кажется, или вы сейчас заново изобретаете транзакции?
Офлайн
To Fishhook
У меня mongodb. Там нельзя объединять несколько запросов в одну транзакцию.
Офлайн
BudulianinВ uWSGI есть фича перезапуска приложения при обновлении (файлов), дак вот там тоже рубит -9, никакие финализаторы не срабатывают.
А я говорю, что никто не даст этому “финализатору” отработать(не успеет), потому что главный процесс uWSGI убивает воркер 9 сигналом,
Офлайн