diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-03 14:46:18 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-03 14:46:18 +0200 |
| commit | a450fa75edb927b7568b8a3198f9209c6a4c7f79 (patch) | |
| tree | 67a9baa716c6f12f2ed3a8e4ba69e942fb309687 /app/relay/runner.js | |
| parent | 198c41778cfe39d37aab92c08325dc8c9d4437a0 (diff) | |
adjusting the form, calling samplernn tasks
Diffstat (limited to 'app/relay/runner.js')
| -rw-r--r-- | app/relay/runner.js | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/app/relay/runner.js b/app/relay/runner.js index deb3aa0..741ef8a 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -63,8 +63,7 @@ export function status () { } } -export function build_params(module, task) { - const activity = module.activities[task.activity] +export function build_params(module, activity, task) { const interpreter = interpreters[activity.type] let opt_params; if (typeof activity.params === 'function') { @@ -159,7 +158,12 @@ export function run_script(task, cb) { export function run_task(task, preempt, watch){ const module = modules[task.module] if (! module) return { type: 'error', error: "No such module: " + task.module } - const { activity, interpreter, params } = build_params(module, task) + const activity = module.activities[task.activity] + run_task_with_activity(task, module, activity, preempt, watch) +} + +export function run_task_with_activity(task, module, activity, preempt, watch) { + const { interpreter, params } = build_params(module, task) if (! interpreter) return { type: 'error', error: "No such interpreter: " + activity.interpreter } if (interpreter.gpu && state.current_gpu_task.status !== 'IDLE') { @@ -218,19 +222,42 @@ export function run_task(task, preempt, watch){ if (finished) return finished = true console.log('task error', subprocess.exitCode, err) - clear_task(interpreter.gpu, task) - remote.emit('task_res', { type: 'task_error', task, err }) - set_connected(false) + finish({ + type: 'task_error', + task, err, + }) }) subprocess.on('close', () => { if (finished) return finished = true console.log('task ended', subprocess.exitCode || '') - clear_task(interpreter.gpu, task) - remote.emit('task_res', { type: 'task_finish', task }) set_connected(false) + finish({ + type: 'task_finish', + task, + }) }) + + function finish(task_res){ + remote.emit('task_res', task_res) + clear_task(interpreter.gpu, task) + set_connected(false) + // remove task from queue + // queue.remove_task(task) + if (activity.onComplete) { + return run_task_with_activity(task, module, activity.onComplete, preempt, watch) + } + return run_next_task() + } +} + +export function get_next_task(){ + // get next task from the queue... + /* + const task = queue.get_next_task() + return run_task(task) + */ } export function stop_task(task){ |
