summaryrefslogtreecommitdiff
path: root/app/relay/queue.js
blob: 9dd987ab936624d298db1f526a52d7e627b2dd78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 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
  }
  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