【问题标题】:The difference between a plugin and an application plugin in twisted?twisted 中插件和应用程序插件的区别?
【发布时间】:2012-01-06 12:09:17
【问题描述】:

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

答案是:

插件更好,因为你可以有命令行选项

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

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

我对扭曲中的plugin 一词感到困惑。对我来说,这意味着以无缝方式改变应用程序的东西——你不必知道它们的存在——它们只是“插入”到你的应用程序中改变它的行为。

但我无法理解扭曲应用程序和扭曲应用程序插件之间的概念差异。对我来说 - 它们的用途相同,但具有不同的功能 - 为什么?

什么时候应该使用扭曲的应用程序以及什么时候使用插件?

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    twisted 中的插件仅向twistd 脚本添加命令和/或选项。它们不再意味着什么。

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

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

    我认为同时使用插件和.tac文件并没有错。

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

    但我无法理解扭曲之间的概念差异 应用程序和扭曲的应用程序插件。对我来说 - 他们服务于 目的相同,但具有不同的功能 - 为什么?

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

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

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

    【讨论】:

    • >如果我必须发布一个独立的应用程序,我会编写自己的启动脚本并且不会使用twistd 脚本。 >例如scrapy就是这样做的:它为不熟悉twisted的用户提供了一个脚本scrapyd。 twistd -ny "$tacfile"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多