From 76c64dd94d25cd896c75bbe9d000aed7dfc33653 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 4 Jun 2018 22:32:57 +0200 Subject: messages from tasks --- app/relay/runner.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'app/relay/runner.js') diff --git a/app/relay/runner.js b/app/relay/runner.js index 94b7779..c04419d 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -240,11 +240,18 @@ export function run_task_with_activity(task, module, activity, preempt=false, wa watch && console.log("watching stdout..") - subprocess.stdout.on('data', data => { - watch && remote.emit('task_res', { type: 'stdout', processor, data: data.toString('utf8') }) + let count = 0 + subprocess.stdout.on('data', buf => { + const data = buf.toString('utf8') + watch && remote.emit('task_res', { type: 'stdout', processor, data }) + if (activity.listen) { + const res = activity.listen(task, data, count++) + if (res) remote.emit('task_res', res) + } }) - subprocess.stderr.on('data', data => { - watch && remote.emit('task_res', { type: 'stderr', processor, data: data.toString('utf8') }) + subprocess.stderr.on('data', buf => { + const data = buf.toString('utf8') + watch && remote.emit('task_res', { type: 'stderr', processor, data }) }) let finished = false @@ -253,6 +260,8 @@ export function run_task_with_activity(task, module, activity, preempt=false, wa if (finished) return finished = true task.processing = false + task.completed = true + task.success = false console.log('task error', subprocess.exitCode, err) finish({ type: 'task_error', @@ -267,6 +276,7 @@ export function run_task_with_activity(task, module, activity, preempt=false, wa set_connected(false) task.processing = false task.completed = true + task.success = true finish({ type: 'task_finish', task, -- cgit v1.2.3-70-g09d2