twisted中插件和应用程序插件的区别是什么?

2024-04-28 13:16:55 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一个非常相似的问题:What's the difference between a twistd plugin and a twistd service?

答案是:

A plugin is nicer in that you can have command-line options

当我开始学习twisted时,我正在使用一个现有的应用程序,我很困惑入口点在哪里,它在twisted/plugins文件夹中的某个地方。在

从那时起,我首选的方法是使用顶层文件夹中的tac文件,但现在我需要向脚本传递一些命令行参数。我被告知要使用twisted应用程序插件。在

我被twisted中的plugin这个词弄糊涂了。对我来说,这意味着一些东西可以无缝地改变一个应用程序——你不必真的知道它们的存在——它们只是“插入”到你的应用程序中,改变它的行为。在

但我无法理解twisted应用程序和twisted应用程序插件之间的概念差异。对我来说,它们有着相同的目的,但却有着不同的特点——为什么?在

我应该什么时候使用twisted应用程序,什么时候使用插件?在


Tags: andthe答案文件夹插件应用程序isservice
1条回答
网友
1楼 · 发布于 2024-04-28 13:16:55

twisted中的插件只向twistd脚本添加命令和/或选项。他们没有任何意义。在

所以,是的,有两种方法可以为应用程序编写启动脚本,一种是使用.tac文件,另一种是(通过插件)向twistd添加命令。在

我认为.tac文件更容易写。在

我认为同时使用插件和.tac文件并不是一件错误的事情。在

还有第三种方法:编写自己的启动脚本,而不是twistd。在

But i cannot understand the conceptual difference between twisted applications and twisted application plugins. For me - they serve the same purpose, but are given different features - why?

不,它们的作用不一样。Twisted应用程序只是一个.tac文件,可以用twistd脚本启动。它更像是一个配置文件。使用python语法的配置文件。它的目的是你不需要自己编写启动脚本。但是如果twistd没有为您提供足够的选项,您可以为它编写一个插件。所以插件的目的是扩展twistd。在

如果我必须发布一个独立的应用程序,我会编写自己的启动脚本,而不会使用twistd脚本。twistd如果应用程序的用户熟悉twisted和/或有更多twisted应用程序,则可以。我认为看到twistd的所有不同选项对用户来说只是一个负担,而且在不参考文档的情况下不能启动应用程序是非常令人沮丧的。在

例如,scrapy就是这样做的:它为不熟悉twisted的用户提供了一个脚本scrapyd。在

相关问题 更多 >