Форум сайта python.su
 
							 
							
						 33
  33   
								
								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)
Офлайн
 
							 
							
						 33
  33   
								
								Я ещё думаю, что проблема может быть в time out uWSGI.
Главный процесс видит, что воркер тупит с запросом и убивает его.
Наверняка есть настройка time out uWSGI. Может если поставить его больше, то воркер не будут убивать.
Но это не исправит архитектуру приложения.
Офлайн
 
							 25
  25   
								
								BudulianinНастройка-то есть. Только это настройка именно uWsgi.
Наверняка есть настройка time out uWSGI
Офлайн
 
							 25
  25   
								
								BudulianinА как это произошло? Это проверка sleep-ом?
Мне кажется это не будет работать, потому что воркер убивается 9 сигналом и никто его ждать не будет.
Отредактировано s0rg (Авг. 21, 2014 18:32:19)
Офлайн
 
							 
							
						 33
  33   
								
								s0rgНет, ты посоветовал “прибирать” БД в “финализаторе”, типо если воркер будет падать, то этот “финализатор” отработает и почистит БД.
А как это произошло? Это проверка sleep-ом?
Отредактировано Budulianin (Авг. 21, 2014 19:26:50)
Офлайн
 
							 25
  25   
								
								А! Теперь понял.
По поводу финализатора - это была мысль, касательно ‘отвалившихся’ клиентов и только о них.
Офлайн
 
							 
							
						 33
  33   
								
								s0rgУ меня: клиент -> nginx -> uWSGI.
А есть еще сервер выше.
Отредактировано Budulianin (Авг. 21, 2014 20:50:24)
Офлайн
 
							 
							
						 568
  568   
								
								Мне кажется, или вы сейчас заново изобретаете транзакции?
Офлайн
 
							 
							
						 33
  33   
								
								To Fishhook
У меня mongodb. Там нельзя объединять несколько запросов в одну транзакцию.
Офлайн
 
							 32
  32   
								
								BudulianinВ uWSGI есть фича перезапуска приложения при обновлении (файлов), дак вот там тоже рубит -9, никакие финализаторы не срабатывают.
А я говорю, что никто не даст этому “финализатору” отработать(не успеет), потому что главный процесс uWSGI убивает воркер 9 сигналом,
Офлайн