summaryrefslogtreecommitdiff
path: root/app/relay/runner.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-04 21:43:36 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-04 21:43:36 +0200
commit5321bafae0916861e270b692a42b3b699a96d339 (patch)
tree9137cd8ff869b623bb257a22f29223a2af661a44 /app/relay/runner.js
parent55a5504ab1271bb5cdc3d7d7df5df853b0161148 (diff)
task index / queue translation
Diffstat (limited to 'app/relay/runner.js')
-rw-r--r--app/relay/runner.js17
1 files changed, 9 insertions, 8 deletions
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