özgün deniz
Kilopat
- Katılım
- 3 Aralık 2017
- Mesajlar
- 2.394
- Makaleler
- 1
- Çözümler
- 32
Bilmiyorum daha ne kadar gülünç duruma düşürme niyetindesin kendini. nohup ile çalıştırıyorum demene gülmemek için kendimi zor tutuyorum, yazdıklarımın geri kalanını kabul etmiş olduğunu varsayarak devam edeyim.Nohup ile kodu çalıştırıyoruz sadece ?
Yani sen bana diyorsun ki, ben öyle saçma bir production environment'e sahibim ki herhangi bir production grade web server kullanmıyorum (gunicorn bile olur) ve nohup python manage.py runserver benzeri bir komut ile Django ile birlikte gelen, test buildleri için olan web serveri kullanıyorum. (Django Runserver Is Not Your Production Server) Eğer durum buysa, acilen adam akıllı bir init sistemi ve web server'a geçiş yapmalısın.
Nohup, kendisine verilen programı çalıştırıp SIGHUP'i görmezden gelen, dolayısı ile ssh/terminalinizi kapatmanızın ardından sona ermeyen bir process. Her ne kadar debug environmentleri için kullanışlı bir şey olsa da, asıl yapılması gereken systemd veya benzeri bir init sisteme projeyi çalıştıracak bir service eklemek. (systemd/Services - Debian Wiki) Bu sayede proje herhangi bir sebepten dolayı crashlerse ya da makine yeniden başlatılırsa, çok hızlı bir şekilde projenin başlaması sağlanabilir.
Zaten önceki postta da belirttiğim gibi, bahsettiğin Django uygulaması I/O bound bir uygulama yani asil önemli olan şey kendisi için kaç thread'e sahip olduğu değil de concurrency (bkz.asyncio) olayını ne kadar verimli bir şekilde gerçekleştirdiği. Ayni şekilde bildiğin şeylerin de yanlış olduğunu belirttim, JavaScript single-thread o yüzden yavaş, Python multi-thread destekliyor o yuzden 10x daha hızlı ifadesi cehalet ile tetiklenmiş bir söylemin ötesine geçemiyor. Hele ki elindeki tek karşılaştırma kıstası I/O bound bir uygulamaysa.
Hakikaten cehalet başka bir şey.