Chcę spróbować grać z geventem jako serwerem sieciowym i aplikacją. Nie widzę sposobu, aby "zrestartować" serwer lub zaktualizować kod aplikacji bez zabijania i ponownego uruchamiania całej aplikacji Pythona.uruchom aplikację internetową z geventem
Czy tak się stało? Może to tylko kwestia zrozumienia przeze mnie innego paradygmatu na drodze Apacza.
Ponadto, jako częściowo powiązane pytanie, dobrym pomysłem jest uruchomienie serwera WWW ORAZ samej witryny/usługi za pośrednictwem gevent. Widziałem inne implementacje wykorzystujące gunicorn dla serwera i gevent dla aplikacji, ale z benchmarków, które widziałem, gevent znacznie przewyższa gunicorn jako serwer, jeśli chodzi o skalowanie.
Jednym z rozwiązań, jeśli chcesz uruchomić gevent bezpośrednio, ale zachować serwer, nawet podczas aktualizacji jest umieszczenie równoważenia obciążenia przed dwiema instancjami gevent. Nginx może działać jako load-balancer po prostu mając dwa serwery w definicji upstream. Po ponownym uruchomieniu jednego serwera gevent wsgi nie ma przestojów. Jednak niewielka przewaga w zakresie pamięci w porównaniu z działającym gunicornem nie jest warta w dłuższej perspektywie ze względu na dodatkową złożoność, imho. –
@DanielEriksson Dobra sugestia. – Endophage