Найти - Пользователи
Полная версия: twistd plugin - проблема
Начало » Web » twistd plugin - проблема
1
Michael_XIII
Всем привет!

Есть веб-сервис, работающий демоном через стороний класс (правда с использовением 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):
Ткните носом, пожалуйста, где я вру

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

site = src.server.AddressServer()
return internet.TCPServer(int(options), site)
bw
Точно, я так и думал :-).

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB