@rpcbase/server 0.175.0 → 0.177.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/queue/index.js +22 -7
package/package.json
CHANGED
package/queue/index.js
CHANGED
|
@@ -5,13 +5,22 @@ const {WORKER_QUEUE_PORT, CONTAINER_MODE} = process.env
|
|
|
5
5
|
const hostname = CONTAINER_MODE === "native" ? "127.0.0.1" : "worker-queue"
|
|
6
6
|
const worker_queue_url = `redis://${hostname}:${WORKER_QUEUE_PORT}`
|
|
7
7
|
|
|
8
|
+
const QUEUE_NAME = "worker-queue"
|
|
9
|
+
|
|
10
|
+
|
|
8
11
|
const tasks_list = Object.create(null)
|
|
9
12
|
|
|
10
13
|
let worker_queue
|
|
11
14
|
|
|
15
|
+
const get_instance = () => {
|
|
16
|
+
if (!worker_queue) worker_queue = new Queue(QUEUE_NAME, worker_queue_url)
|
|
17
|
+
return worker_queue
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
12
21
|
const worker_add = async(task_name, payload, options) => {
|
|
13
22
|
if (!worker_queue) {
|
|
14
|
-
worker_queue = new Queue(
|
|
23
|
+
worker_queue = new Queue(QUEUE_NAME, worker_queue_url)
|
|
15
24
|
}
|
|
16
25
|
const res = await worker_queue.add({task_name, payload}, options)
|
|
17
26
|
console.log("worker_add:created task:", task_name, res.id)
|
|
@@ -20,6 +29,15 @@ const worker_add = async(task_name, payload, options) => {
|
|
|
20
29
|
return res
|
|
21
30
|
}
|
|
22
31
|
|
|
32
|
+
const get_job = async(job_id) => {
|
|
33
|
+
const queue = get_instance()
|
|
34
|
+
return queue.getJob(job_id)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const get_jobs = async(...args) => {
|
|
38
|
+
const queue = get_instance()
|
|
39
|
+
return queue.getJobs(...args)
|
|
40
|
+
}
|
|
23
41
|
|
|
24
42
|
const register_task = (name, fn) => {
|
|
25
43
|
// append module to tasks list
|
|
@@ -31,7 +49,7 @@ const get_tasks = () => tasks_list
|
|
|
31
49
|
const start_worker = async() => {
|
|
32
50
|
console.log("start worker queue", worker_queue_url)
|
|
33
51
|
|
|
34
|
-
worker_queue = new Queue(
|
|
52
|
+
worker_queue = new Queue(QUEUE_NAME, worker_queue_url)
|
|
35
53
|
|
|
36
54
|
// error handler
|
|
37
55
|
worker_queue.on("error", (err) => {
|
|
@@ -69,11 +87,6 @@ const start_worker = async() => {
|
|
|
69
87
|
}
|
|
70
88
|
|
|
71
89
|
|
|
72
|
-
const get_instance = () => {
|
|
73
|
-
if (!worker_queue) worker_queue = new Queue("worker-queue", worker_queue_url)
|
|
74
|
-
return worker_queue
|
|
75
|
-
}
|
|
76
|
-
|
|
77
90
|
// TMP used to create additional queues, should be implemented with a better API in the future
|
|
78
91
|
const get_url = () => {
|
|
79
92
|
return worker_queue_url
|
|
@@ -83,6 +96,8 @@ module.exports = {
|
|
|
83
96
|
start: start_worker,
|
|
84
97
|
register_task,
|
|
85
98
|
get_tasks,
|
|
99
|
+
get_job,
|
|
100
|
+
get_jobs,
|
|
86
101
|
add: worker_add,
|
|
87
102
|
instance: get_instance,
|
|
88
103
|
get_url,
|