Разница между плагином и плагином приложения в витой? - PullRequest
2 голосов
/ 06 января 2012

Здесь довольно похожий вопрос: В чем разница между плагином twistd и сервисом twistd?

И ответ:

AПлагин хорош тем, что у вас могут быть параметры командной строки

Когда я начал изучать закручивание, я работал с существующим приложением, и я был смущен, где находится точка входа, которая была где-то в twisted/plugins папка.

С тех пор я предпочел использовать файлы tac в верхней папке, но теперь я пришел к тому моменту, когда мне нужно передать некоторые аргументы командной строки в мой скрипт.И мне сказали использовать витые плагины приложений.

Меня смущает термин plugin в витой.Для меня это означает что-то, что изменяет приложение плавно - вам не нужно знать, что они существуют, - они просто «подключаются» к вашему приложению, изменяя его поведение.

Но я не могу понять концептуальноеРазница между витыми приложениями и плагинами витых приложений.Для меня - они служат той же цели, но имеют разные функции - почему?

Когда я должен использовать витые приложения и когда плагины?

1 Ответ

1 голос
/ 06 января 2012

Плагины в витой форме только добавляют команды и / или опции к скрипту twistd.Они больше ничего не значат.

Так что да, есть два способа написания сценария запуска для вашего приложения: один использует файл .tac, а другой - добавить команду (через плагин) вtwistd.

Я думаю, что .tac файл легче писать.

Я думаю, это не то, что нужно использовать оба: плагины и .tac файлы.

Существует также третий способ: написать собственный сценарий запуска вместо twistd.

Но я не могу понять концептуальную разницу между витыми приложениями и плагинами витых приложений.Для меня - они служат одной и той же цели, но имеют разные особенности - почему?

Ну нет.Они не служат той же цели.Приложение Twisted - это просто файл .tac, который можно запустить с помощью скрипта twistd.Это больше похоже на файл конфигурации.Файл конфигурации с синтаксисом Python.Его цель заключается в том, что вам не нужно писать собственный скрипт запуска.Но если twistd не предоставляет достаточно возможностей для вас, вы можете написать плагин для него.Поэтому целью плагинов является расширение twistd.

И если бы мне пришлось публиковать отдельное приложение, я бы написал свой собственный скрипт запуска и не использовал бы скрипт twistd.twistd нормально, если пользователи приложения знакомы с витыми и / или имеют больше витых приложений.Я думаю, что пользователю тяжело видеть все различные варианты twistd, и очень неприятно, что не удается запустить приложение без обращения к документации.

Например scrapy делает это: он предоставляет скрипт scrapyd для пользователей, которые не знакомы с витой.

...