diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 22:32:57 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 22:32:57 +0200 |
| commit | 76c64dd94d25cd896c75bbe9d000aed7dfc33653 (patch) | |
| tree | 71a394cc482baa5addb2ce0d9b81ee689227d41a /app/relay/runner.js | |
| parent | cfe98e6eef5ca24b5c2656fcda8e3fac71d55a1d (diff) | |
messages from tasks
Diffstat (limited to 'app/relay/runner.js')
| -rw-r--r-- | app/relay/runner.js | 18 |
1 files changed, 14 insertions, 4 deletions
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, |
