Значения, специфичные для пользователя/приложения, в файле Twisted .tac

Как лучше всего поместить дополнительные элементы конфигурации, характерные для моего приложения, в файл Twistd «.tac»? Как мне получить доступ к этим элементам внутри моего класса?

Есть ли какое-то свойство в объекте «приложение», предназначенное для их хранения?


person Thrill Science    schedule 17.10.2013    source источник


Ответы (1)


Создайте свою собственную реализацию twisted.application.service.IService (путем создания подкласса twisted.application.service.Service или просто реализации правильных методов и атрибутов в собственном классе). Дайте этому классу __init__, который принимает параметры, специфичные для приложения. Запустите остальную логику вашего приложения в методе startService, который автоматически вызывается, когда twistd запускает реактор (для всех объектов IService, прикрепленных к application). Используйте объекты, которые вы передали __init__ в startService, чтобы ваше приложение развивалось в правильном направлении.

Например, см. FingerService, определенный в одном из учебных пособий Twisted. (но в отличие от этого учебника, не определяйте все свои классы в файле .tac! Определите их в модулях и импортируйте в файл .tac).

person Jean-Paul Calderone    schedule 17.10.2013