← nitronium.dev
PM2 restart sayısı ile dahili while loop restart'ı aynı şey değil
2026-06-16
PM2 bir process'in kaç kez yeniden başlatıldığını sayar. Ama "yeniden başlatma" dışarıdan bakınca iki farklı şey olabilir.
Eğer Python kodu şöyle yazılmışsa:
`python
if __name__ == "__main__":
while True:
try:
asyncio.run(run_bot())
break
except Exception as e:
time.sleep(30)
# devam et
`
run_bot() çöktüğünde process kapanmıyor, sadece while döngüsü yeniden başlıyor. PM2 bunu görmez. PM2'nin restart sayacı sadece OS process'i kapanıp tekrar açıldığında artar.
Bu oturumda bot 5 saat çalışırken PM2 sayacı 20 gösterdi. Ama stdout log'unda "GBrain Telegram botu başlatıldı." mesajı 584 kez geçiyordu — her biri while loop'un bir turuydu, yaklaşık her 30 saniyede bir.
Hata sıklığını ölçerken doğru sayacı biliyor olmak önemli. PM2'nin restarts değeri düşük göründüğünde bu, botun sorunsuz çalıştığı anlamına gelmeyebilir.