2012-01-06 80 views
2

有一個非常類似的問題在這裏:What's the difference between a twistd plugin and a twistd service?插件和應用程序插件在扭曲的區別?

答案是:

插件是在更好的,你可以有命令行選項

當我開始學習扭曲我正在使用現有的應用程序,並且我很困惑,入口點位於twisted/plugins文件夾的某處。

從那時起,我的首選方法是在頂部文件夾中使用tac文件,但現在我需要將某些命令行參數傳遞給我的腳本。我被告知使用扭曲的應用程序插件。

我被扭曲的術語plugin弄糊塗了。對我而言,這意味着某些東西會以無縫方式更改應用程序 - 您不必知道它們存在 - 它們只是「插入」應用程序以改變其行爲。

但我不明白扭曲的應用程序和扭曲的應用程序插件之間的概念區別。對我來說 - 他們服務於同一目的,但有不同的特點 - 爲什麼?

什麼時候應該使用扭曲的應用程序和插件?

回答

1

插入扭曲僅向twistd腳本添加命令和/或選項。他們沒有任何意義。

好吧,有兩種方法可以爲您的應用程序編寫啓動腳本,一種是使用.tac文件,另一種是向twistd添加命令(通過插件)。

我覺得.tac文件比較容易編寫。

我認爲使用兩個插件和.tac文件都不是錯誤的。

還有第三種方法:編寫自己的啓動腳本而不是twistd

但我不明白扭曲的 應用程序和扭曲的應用程序插件之間的概念區別。對我來說 - 他們服務於 相同的目的,但有不同的特點 - 爲什麼?

那麼沒有。他們沒有達到相同的目的。扭曲的應用程序只是一個.tac文件,可以用twistd腳本啓動。它更像是一個配置文件。用python語法配置文件。目的是您不需要編寫自己的啓動腳本。但是,如果twistd未能爲您提供足夠的選項,則可以爲其編寫一個插件。所以插件的目的是擴展twistd

如果我不得不發佈獨立應用程序,我會編寫自己的啓動腳本,並且不會使用twistd腳本。 twistd是可以的,如果應用程序的用戶熟悉扭曲和或有更多扭曲的應用程序。我認爲用戶只能看到twistd的所有不同選項,並且如果不參考文檔就無法啓動應用程序是非常令人沮喪的。

例如scrapy這樣做:它爲不熟悉扭曲的用戶提供腳本scrapyd

+2

>如果我不得不發佈一個獨立的應用程序,我會寫我自己的啓動腳本,不會使用twistd腳本。 >例如scrapy就是這樣做的:它爲不熟悉扭曲的用戶提供了一個腳本scrapyd。 warvariuc 2012-01-09 09:17:07