ubuntu 14.04
makinede çalışan bir raylı sistem uygulaması var ve Nginx
ve passenger
aracılığıyla hizmet veriyor. Uygulamanın şu hatayıDuruş süresine neden olan yolcu işçileri nasıl yönetilir?
[ agents/LoggingAgent/Main.cpp:338 ]: Signal received. Gracefully shutting down... (send signal 2 more time(s) to force shutdown)
[ agents/LoggingAgent/Main.cpp:400 ]: Received command to shutdown gracefully. Waiting until all clients have disconnected...
[ ServerKit/Server.h:453 ]: [LoggerAdminServer] Shutdown finished
[ agents/LoggingAgent/Main.cpp:425 ]: PassengerAgent logger shutdown finished
[ ServerKit/Server.h:453 ]: [ServerThr.1] Shutdown finished
[ ServerKit/Server.h:453 ]: [ServerThr.2] Shutdown finished
[ ServerKit/Server.h:453 ]: [AdminServer] Shutdown finished
[ agents/HelperAgent/Main.cpp:724 ]: Disconnecting long-running connections for process 19431, application /public#default
[ agents/HelperAgent/Main.cpp:724 ]: Disconnecting long-running connections for process 19440, application /public#default
[ agents/Watchdog/Main.cpp:1255 ]: Starting PassengerAgent watchdog...
[ agents/HelperAgent/Main.cpp:883 ]: Starting PassengerAgent server...
[ agents/HelperAgent/Main.cpp:232 ]: PassengerAgent server running in multi-application mode.
[ agents/HelperAgent/Main.cpp:637 ]: PassengerAgent server online, PID 19637
[ agents/LoggingAgent/Main.cpp:431 ]: Starting PassengerAgent logger...
[ agents/LoggingAgent/Main.cpp:312 ]: PassengerAgent logger online, PID 19645
[ agents/HelperAgent/Main.cpp:868 ]: PassengerAgent server shutdown finished
vererek iner Ve Nginx
yeniden ediliyor sürece uygulaması aşağı kalır zamanlar vardır. Bu muhtemelen artık hizmet etmeyen ve hafızayı tüketen eski işçilerden kaynaklanıyor (eğer yanılıyorsam düzeltin).
yolcunun 6
numaralı telefonuna, 2GB RAM
numaralı bellek alanımdaki belleğini alıyorum.
Eskiyen işçileri düzenli olarak kontrol eden ve varsa Nginx
'u yeniden başlatan veya touch tmp/restart.txt
numaralı bir senaryo yazmayı düşünüyordum. Ayrıca eski işçileri nasıl kontrol edeceğimi veya passenger
'un beklendiği gibi çalışmadığını bilmek istiyorum. Düzenli olarak, Nginx
düzenli olarak yeniden başlatmayı veya düzenli aralıklarla bir saat sonra touch tmp/restart.txt
yapmayı düşündüğüm başka bir çözüm.
Ben de uygulamasını mı
yolcu-config yeniden başlatma-app
restart.txt
yeniden başlatma Nginx
yeniden başlatarak üç yolları hakkında yolcu belgelerini okudum
İlk iki durum düşmeyecek Uygulamayı yeniden başlatırken herhangi bir istekte bulunabilirsiniz, ancak uygulamanın yeniden başlatılması sırasında uygulamayı yeniden başlatırken sıfırdan kalma süresine sahip olabilir. Bu, uygulamaya bağlı olarak biraz zaman alabilir.
İyi bir yolun hangisi olacağını bilmek istiyorum veya bu problemden kurtulmanın başka bir yolu var.