diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-05-26 23:17:10 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-05-26 23:17:10 +0200 |
| commit | c8e0a3a77106cfd608e0219c7010eb7c3a485887 (patch) | |
| tree | e9617fccff0caa9c25a766756954bbabcf4eb301 /app | |
| parent | 9be9249f7168e1799b1c6689da44d1efb15667ae (diff) | |
modularize... circular dependencies... whatever
Diffstat (limited to 'app')
| -rw-r--r-- | app/relay/runner.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/app/relay/runner.js b/app/relay/runner.js index fbc7ad7..e7aca72 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -5,6 +5,7 @@ import { execFile, spawn } from 'child_process' import interpreters from './interpreters' import modules from './modules' import { kill } from 'tree-kill' +import { remote } from './remote' export const state = { current_cpu_task: null, @@ -73,7 +74,7 @@ export function run_system_command(cmd, cb) { } } -export function run_task(task, preempt){ +export function run_task(task, preempt, watch){ const module = modules[task.module] if (! module) throw new Error("No such module") const { activity, interpreter, params } = build_params(module, task) @@ -103,17 +104,20 @@ export function run_task(task, preempt){ } subprocess.on('error', (err) => { console.log('process error', subprocess.pid, err) + remote.emit('task_res', { type: 'task_error', task, err }) }) subprocess.on('close', () => { console.log('process ended', subprocess.pid) + remote.emit('task_res', { type: 'task_finish', task }) }) - subprocess.stdout.on('data', data => { - console.log('stdout', subprocess.pid, data) - }) - subprocess.stderr.on('data', data => { - console.log('stderr', subprocess.pid, data) - }) - return subprocess + if (watch) { + response.stdout.on('data', data => { + remote.emit('task_res', { type: 'stdout', data }) + }) + response.stderr.on('data', data => { + remote.emit('task_res', { type: 'stderr', data }) + }) + } } export function kill_task(subprocess){ |
