У меня есть экземпляр Hubot, работающий в IRC. Внутри моего каталога скриптов у меня есть несколько coffeescripts, ссылающихся на внешние скрипты python. Моя проблема в том, что у меня есть данные, которые должны распечатываться перед другими данными во внешних сценариях, таких как «Обработка запроса. Пожалуйста, подождите ...» и т. д., и Hubot ждет, пока весь сценарий полностью завершит выполнение, и сразу сбрасывает вывод в IRC. .
Как мне изменить свои coffeescripts для отправки вывода из внешнего сценария по мере его получения?
пример кофейного скрипта:
# Commands:
# Hubot jira-add-comment <ticket> "comment" - Add given comment to a JIRA ticket
{spawn} = require 'child_process'
module.exports = (robot) ->
addComment = (msg,ticket,comment) ->
output = spawn "/path/to/externalscript.py", [ticket,comment]
output.stdout.on 'data', (data) ->
msg.send data.toString()
robot.respond /jira-add-comment (\w+-\d+) (.+)$/i, (msg) ->
addComment(msg,msg.match[1].trim(),msg.match[2])
Спасибо!