2017-03-21 37 views
-1

雖然下面的代碼的偉大工程,以調用一個python腳本,並得到輸出:結合催生的過程輸出

s = spawn 'python', ['-u', 'foo.py'] 
s.stdout.on 'data', (data) -> msg.send data.toString() 
s.stderr.on 'data', (data) -> msg.send data.toString() 

foo.py返回許多不同的反應(如運行時,它會返回更新)。

例如:

def function1(): 
    print "Function 1 complete" 

def function2(): 
    print "Function 2 complete" 

function1() 
function2() 

Hubot不顯示在一個一致的順序的結果。我知道如果msg.send被多次調用,就會發生這種情況。

雖然我知道我可以重寫foo.py以表現不同,但其他進程依賴於foo.py,我無法改變它的行爲。

我想知道收集響應的過程可能是什麼,併發送一個msg.send,希望單個調用msg.send將保留過程輸出的順序。

回答