Ağa bağlı bir uygulama geliştirdiğim Twisted'de, bir kısmı Django'da yazılmış bir web arabiriminden oluşuyor.Twisted: Bir ThreadPool oluşturma ve sonra da alışılmadık görünüme yol açacak şekilde yönlendirici ipuçları
Web arabirimini barındırmak için Twisted'in WSGI sunucusunu kullanmak istiyorum ve twistd
'u kullanmama izin vermek için çalışan bir "tap" eklentisi yazdım.
-n
bayrağıyla sunucuyu çalıştırırken (arka plana dokunmayın) her şey iyi çalışıyor, ancak bu bayrak kaldırıldığında sunucu hiç bir şekilde isteklere yanıt vermiyor ve hiçbir ileti yok (sunucu hala koşuyor).
bug on Twisted's Trac sorunu tam olarak açıklıyor gibi görünüyor ve benim eklenti code referenced in the ticket dayanarak olur.
Maalesef, sorun düzeltilmedi ve neredeyse bir yıl önce yükseltildi.
Ben Service
uzanır ve başlayan ThreadPoolService
sınıf oluşturmak için çalıştılar bir startService
çağrıldığında ThreadPool
verilen:
class ThreadPoolService(service.Service):
def __init__(self, pool):
self.pool = pool
def startService(self):
super(ThreadPoolService, self).startService()
self.pool.start()
def stopService(self):
super(ThreadPoolService, self).stopService()
self.pool.stop()
Ancak Twisted hiç
startService
yöntemini çağırarak olmak görünmüyor. Sorun şu ki, bir "tap" eklentisi ile,
ServiceMaker
, yalnızca başlatılacak
bir hizmetini döndürebilir - ve aynı uygulamaya ait olan diğerleri başlatılmaz. Açıkçası, WSGI kökü içeren bir
TCPServer
hizmetini iade ediyorum. Bu noktada, biraz tuğla duvarına çarpmışımdır. Bu konuda nasıl çalışabileceğim konusunda bir fikri olan var mı?
Bu mükemmel. Bunu belgelerinde neden görmediğimi bilmiyorum ama bir çekicilik gibi çalışıyor. Teşekkür ederim! –