summaryrefslogtreecommitdiff
path: root/app/relay/runner.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-26 23:17:10 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-26 23:17:10 +0200
commitc8e0a3a77106cfd608e0219c7010eb7c3a485887 (patch)
treee9617fccff0caa9c25a766756954bbabcf4eb301 /app/relay/runner.js
parent9be9249f7168e1799b1c6689da44d1efb15667ae (diff)
modularize... circular dependencies... whatever
Diffstat (limited to 'app/relay/runner.js')
-rw-r--r--app/relay/runner.js20
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){