2015-05-31 65 views
0

我正在開發一個角色內的可靠模塊(即該模塊位於角色的library目錄中)。我想知道是否可以在模塊中排隊處理程序?是否有可能從一個模塊中排列一個處理程序?

下面是我想要做的一個例子,但沒有在任務上使用notify位。

- name: build and install my application 
    custom_module: 
    path=/opt/web_app 
    notify: 
    - restart web server 

理想情況下,我想有custom_module莫名其妙地排隊處理,使得使用情況是這樣的:

- name: build and install my application 
    custom_module: 
    path=/opt/web_app 

回答

0

我敢肯定這樣的事情是不可能的。實際上,模塊是Ansible獨立應用程序,Ansible將其複製到遠程主機,使用提供的參數執行,然後解釋輸出值&,然後繼續執行下一個模塊。由於模塊在遠程主機上運行,​​因此它不知道主節點上正在運行的Ansible進程,因此無法回退到它。在你的劇本中使用notify屬性是調用處理程序的正確方法。你爲什麼想要嘗試以其他方式做到這一點?

+0

我想你是對的。我仍然在試圖找出一種製作動態遊戲的好方法,也就是構建一個應用程序並通知一些構建工具來更新其信息(本例中爲''rbenv rehash'')。我認爲將模塊作爲角色的一部分,將有助於模塊依賴性和可以在最後運行的常見處理程序任務。此外,我認爲這會阻止所有使用此模塊的任務執行樣板依賴性任務以及通知行。 – pumazi

相關問題