diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-16 13:00:28 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-16 13:00:28 +0200 |
| commit | 6d9ec5ad69071366332944b267a6bbdfbaa82d41 (patch) | |
| tree | 01fbe0ec11d94b4e97e264fa85ecfc2b225d83cf /app/relay/runner.js | |
| parent | 95d5977405c5c8f8908dede7dedae1ea68a679f5 (diff) | |
new queue
Diffstat (limited to 'app/relay/runner.js')
| -rw-r--r-- | app/relay/runner.js | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/app/relay/runner.js b/app/relay/runner.js index a449a6c..809de7a 100644 --- a/app/relay/runner.js +++ b/app/relay/runner.js @@ -8,7 +8,7 @@ import uuidv1 from 'uuid/v1' import * as fs from 'fs' import * as path from 'path' -import * as queue from './queue' +import * as q from './queue' const idle_state = { status: 'IDLE', task: {} } @@ -212,6 +212,12 @@ export function get_processor(task){ return interpreter.gpu ? 'gpu' : 'cpu' } +export function get_queue(task){ + const processor = get_processor(task) + if (!processor) return null + return (processor === 'cpu') ? q.cpu : q.gpu +} + export function run_task(task, preempt=false, watch=false){ if (! task) return null const module = modules[task.module] @@ -338,12 +344,19 @@ export function start_queue(){ } export function run_next_task(){ - if (queue.is_active()) { - console.log(queue.list_tasks()) - const task = queue.get_next_task() - return run_task(task, false, true) - } - return { status: 'not active' } + const status = [q.cpu, q.gpu].map(queue => { + const status = queue.processor === 'gpu' ? state.current_gpu_task.status : state.current_cpu_task.status + console.log(queue.is_active(), status) + if (queue.is_active() && status === 'IDLE') { + console.log(queue.processor, "is free") + const task = queue.get_next_task() + return run_task(task, false, true) + } else { + console.log(queue.processor, "is busy") + return { processor: queue.processor, status: 'busy' } + } + }) + return status } export function stop_task(task, sigkill){ |
