Запустите приложение autobahn с Twistd

Я разработал сервер веб-сокетов на Twisted с библиотекой автобанов. Теперь я хочу запустить его как демон с Twistd. В случае простого TCP-сервера я бы сделал что-то вроде этого:

application = service.Application("someapp")  # create the Application
someService = internet.TCPServer(port, someFactory) # create the service
someService.setServiceParent(application)

В этом примере я использую класс TCPServer вместо функции реактора.listenTCP.

В справочнике API автобана я нашел только функцию listenWS (например, listenTCP для TCP-сервера) и ничего о классе WSServer.

Итак, мой вопрос: как я могу заставить свое приложение работать с Twistd? Может быть, мне следует реализовать свой собственный сервисный класс WSServer, который расширяет искривленный класс Service?


person Andrew Chernov    schedule 04.05.2012    source источник


Ответы (1)


Ага. Создайте свой собственный сервис. Вызовите listenWS в его методе startService. Вызовите метод выключения в методе stopService.

person Jean-Paul Calderone    schedule 04.05.2012