From 5321bafae0916861e270b692a42b3b699a96d339 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 4 Jun 2018 21:43:36 +0200 Subject: task index / queue translation --- app/relay/runner.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'app/relay/runner.js') diff --git a/app/relay/runner.js b/app/relay/runner.js index a8e26af..1a72025 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -196,7 +196,7 @@ export function run_task_with_activity(task, module, activity, preempt, watch) { if (interpreter.gpu && state.current_gpu_task.status !== 'IDLE') { if (preempt) { console.log('preempting currently running GPU task') - terminate(state.current_gpu_task.subprocess) + terminate(state.current_gpu_task) } else { console.log('already running GPU task :(', state.current_gpu_task.pid) return { type: 'error', error: 'task already running on gpu' } @@ -204,7 +204,7 @@ export function run_task_with_activity(task, module, activity, preempt, watch) { } else if (!interpreter.gpu && state.current_cpu_task.status !== 'IDLE') { if (preempt) { console.log('preempting currently running CPU task') - terminate(state.current_cpu_task.subprocess) + terminate(state.current_cpu_task) } else { console.log('already running CPU task :(') return { type: 'error', error: 'task already running on cpu' } @@ -290,19 +290,20 @@ export function run_next_task(){ export function stop_task(task){ if (!task) return if (state.current_cpu_task.task.uuid === task.uuid) { - terminate(state.current_cpu_task.subprocess) + terminate(state.current_cpu_task) return { status: 'ok' } } else if (state.current_gpu_task.task.uuid === task.uuid) { - terminate(state.current_gpu_task.subprocess) + terminate(state.current_gpu_task) return { status: 'ok' } } return { error: 'no such task' } } -export function terminate(subprocess){ - if (!subprocess) { +export function terminate(task){ + if (!task || !task.subprocess) { return } - console.log('kill pid', subprocess.pid) - kill(subprocess.pid) + console.log('kill pid', task.subprocess.pid) + task.preempted = true + kill(task.subprocess.pid) } \ No newline at end of file -- cgit v1.2.3-70-g09d2