Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2010 16:52:37

Michael_XIII
От:
Зарегистрирован: 2010-05-14
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

twistd plugin - проблема

Всем привет!

Есть веб-сервис, работающий демоном через стороний класс (правда с использовением reactor)

но при попытке переписать на честный плагин к twistd 10 наткнулся на непонимание

Единственный пример который нашел (без использования tap/tac) http://chrismiles.livejournal.com/23399.html

Создан плагин, подключен к twistd, даже запускается, но тут же выходит после создания.

Код

xxx_plugin.py

from zope.interface import implements

from twisted.python import usage
from twisted.plugin import IPlugin
from twisted.application.service import IServiceMaker
from twisted.application import internet
import src.server


class Options(usage.Options):
optParameters = [["port", "p", 8080, "The port number to listen on."]]


class MyServiceMaker(object):
implements(IServiceMaker, IPlugin)
tapname = "server"
description = server"
options = Options

def makeService(self, options):
"""
Construct a TCPServer from a factory defined in myproject.
"""
print 'make'
return src.server.AServer()
#MyFactory()

# Now construct an object which *provides* the relevant interfaces
# The name of this variable is irrelevant, as long as there is *some*
# name bound to a provider of IPlugin and IServiceMaker.

serviceMaker = MyServiceMaker()
print 'maker'
Смутно подозреваю, что дело в том, что сам сервер отнаследован от twisted.web.server.Site а не от сервиса

class AServer(LocalFrameworkClass, server.Site):
Ткните носом, пожалуйста, где я вру

Заранее спасибо!



Отредактировано (Май 14, 2010 16:54:17)

Офлайн

#2 Май 24, 2010 16:45:50

Michael_XIII
От:
Зарегистрирован: 2010-05-14
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

twistd plugin - проблема

Fixed

site = src.server.AddressServer()
return internet.TCPServer(int(options), site)



Офлайн

#3 Май 24, 2010 17:00:45

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

twistd plugin - проблема

Точно, я так и думал :-).

..bw



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version