Frappe Bench Fonksiyonun Test Edilmesi

Bir python fonksiyonu yazdınız ve bench altında nasıl çalışacağını test etmek istiyorsunuz. Bu durumda aşağıdaki syntax kullanılarak fonksiyonu çağırabilirsiniz.

tabi bench komutunun çalışabilmesi için frappe-bench dizini altında olmalısınız.

"bench --site siteadi execute fonksiyon yolu"
Örn;
"bench --site erp.sirketim.com execute erpnext.modules.hr.doctypes.events.benimfonksiyonum"

Frappe Bench “Can’t connect to (‘127.0.0.1’, 8000)” Sorunu

Zaman zaman bench restart edildiğinde gunicorn servislerini durduramıyor. Bu nedenle gunicorn servisleri restart olamıyor ve uygulama yanıt vermemeye başlıyor.
Bu senaryoda web.error.log dosyasında gunicorn’un start edilemediğine dair logları görebilirsiniz.

==> web.error.log <==
[2023-11-17 10:44:20 +0300] [377891] [ERROR] Can't connect to ('127.0.0.1', 8000)
[2023-11-17 10:44:21 +0300] [377939] [INFO] Starting gunicorn 20.1.0
[2023-11-17 10:44:21 +0300] [377939] [ERROR] Connection in use: ('127.0.0.1', 8000)
[2023-11-17 10:44:21 +0300] [377939] [ERROR] Retrying in 1 second.
[2023-11-17 10:44:22 +0300] [377939] [ERROR] Connection in use: ('127.0.0.1', 8000)
[2023-11-17 10:44:22 +0300] [377939] [ERROR] Retrying in 1 second.

Çözüm;

Gunicorn servislerini zorla stop ettirmek ve bench’i tekrar başlatmak gerekiyor.

ps -A | grep gunicorn komutuyla çalışan gunicorn servislerinin pidleri alınabilir.
sudo kill pid1 pid2 pid3 komutuyla servisler zorla durdurulur(Zaman zaman işe yaramıyor killall ve pkill komutları ile de denenebilir.)
ps -A | grep gunicorn komutuyla servislerin durup durmadığı kontrol edilir.
bench restart komutu ile bench yeniden başlatılır.