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/queue.js | |
| parent | 95d5977405c5c8f8908dede7dedae1ea68a679f5 (diff) | |
new queue
Diffstat (limited to 'app/relay/queue.js')
| -rw-r--r-- | app/relay/queue.js | 62 |
1 files changed, 41 insertions, 21 deletions
diff --git a/app/relay/queue.js b/app/relay/queue.js index 9dd987a..d6e7ffe 100644 --- a/app/relay/queue.js +++ b/app/relay/queue.js @@ -1,25 +1,45 @@ // get the processor that uses the task and give it its own queue! -let queue = [] -let active = false -let status = 'waiting' - -export const is_active = () => { - if (active && queue.length) { - return true +export class Queue { + constructor(processor){ + this.a = [] + this.processor = processor + this.active = false + this.status = 'waiting' + } + is_active() { + if (this.active && this.a.length) { + return true + } + this.status = 'waiting' + this.active = false + return false + } + get_status() { + return this.status + } + activate() { + this.active = true + this.status = 'active' + } + deactivate(reason) { + this.active = false + this.status = reason || 'waiting' + } + add_task(task){ + this.a.push(task) + } + remove_task(task){ + this.a = this.a.filter(t => t.id !== task.id) + } + get_next_task(){ + return this.a.shift() + } + list_tasks(){ + return this.a } - return active = false -} -export const get_status = () => status -export const activate = () => { - active = true - status = 'active' -} -export const deactivate = reason => { - active = false - status = reason } -export const add_task = task => queue.push(task) -export const remove_task = task => queue = queue.filter(t => t.id !== task.id) -export const get_next_task = () => queue.shift() -export const list_tasks = () => queue + + +export const cpu = new Queue('cpu') +export const gpu = new Queue('gpu')
\ No newline at end of file |
