2012-04-01 25 views
10

Web sunucularım için Python + Tornado öğrenmeye başladım. Python betikleri veya şablonlarımda bazı kodları her değiştirdiğimde terminalimi (CTRL + C) durdurup yeniden başlatmalıyım (python server.py) ve bunu daha etkili bir şekilde yapmak istiyorum. bazı dosyalar sunucu otomatik olarak yeniden başlatılır.Python + Tornado Dosyaları düzenledikten sonra yeniden başlat

Daha önce NodeJS ile çalışıyorum ve bunu yapmak için amiri kullanarak çalışıyorum.

Ayrıca bu yüzden yenilemeden değişiklikleri görebilirsiniz Google Chrome'da benim sekmeyi yeniden bir yolu yoktur (F5) Şu anda Ubuntu 11.10 ve Sublime Text 2 kullanarak ve yüce metin üzerinde CTRL + B kullanıyorum

Ancak, sunucu zaten çalışıyorsa, adres ve bağlantı noktası kullanımda olduğundan bir hata oluşturur. Bağlantıyı değiştirmeden bunun için bir düzeltme var.

Teşekkürler.

cevap

10

Geliştirme sırasında .py dosyalarının otomatik olarak yüklenmesini istiyorsanız. İşleyicilerinizden sonra tornado.web.Application() numaranıza debug=True'u koyun.

Üretim ortamında bunu yapmanız gerektiğini sanmıyorum, çünkü bu tür bir uygulama genellikle değişiklikleri dosyalarda etkin bir şekilde taramak için arka plan iş parçacığı kullanmaktadır, bu da uygulamanızı yavaşlatabilir.

+0

harika çalışıyor, teşekkürler! – danielfrg

+1

Aslında kasırganın bunun için ayrı bir iş parçacığı kullanmadığına inanıyorum, bunun yerine işleyicileri IOLoop'unda kaydeder. Bununla birlikte, bir yüke maruz kalır. Ayrıca, hata ayıklama iletileri yine de üretimde kullanılmamalıdır. –

+0

Sadece "autoreload = True" öğesinden geçmek mümkün. Ve burada bir belge sayfası var: http://www.tornadoweb.org/en/stable/autoreload.html – Ross

İlgili konular