2017-05-25 30 views
0

我正在嘗試構建一個調用python腳本的節點應用程序(需要很長時間才能運行)。用戶從本質上選擇參數,然後單擊運行它在socket.on('python-event')中觸發事件,並運行python腳本。我使用sockets.io向用戶發送有關使用stdout流的python程序狀態的實時數據。我從python 。但是我面對的問題是,如果用戶點擊兩次運行按鈕,事件處理程序會被觸發兩次,並運行兩個python腳本實例,這會破壞stdout。如何確保一次只能發生一個事件觸發器,並且如果新的事件觸發器發生它應該殺死以前的實例和stdout流,然後使用更新的參數運行python腳本的新實例。我嘗試使用socket.once(),但它只允許事件觸發一次每個連接。請確保在socket.io中一次只觸發一個事件處理程序實例

回答

0

我將使用作業隊列來完成這樣的工作,將每個作業的信息存儲在一個隊列中,以便您可以取消它並獲取其狀態。您可以使用像kue這樣的節點模塊。

+0

你可以提供解釋如何可以與socket.io –

相關問題