power-queues 0.0.12 → 1.0.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/dist/Processor.d.ts +14 -0
- package/dist/Processor.js +47 -0
- package/dist/Processor.js.map +1 -0
- package/dist/Queue.d.ts +30 -0
- package/dist/Queue.js +149 -0
- package/dist/Queue.js.map +1 -0
- package/dist/QueuePortion.d.ts +8 -0
- package/dist/QueuePortion.js +35 -0
- package/dist/QueuePortion.js.map +1 -0
- package/dist/QueuePortionProcessor.d.ts +8 -0
- package/dist/QueuePortionProcessor.js +41 -0
- package/dist/QueuePortionProcessor.js.map +1 -0
- package/dist/QueuePortionProcessorMethod.d.ts +11 -0
- package/dist/QueuePortionProcessorMethod.js +68 -0
- package/dist/QueuePortionProcessorMethod.js.map +1 -0
- package/dist/QueueProcessor.d.ts +14 -0
- package/dist/QueueProcessor.js +55 -0
- package/dist/QueueProcessor.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/ProcessorService.d.ts +0 -7
- package/dist/ProcessorService.js +0 -19
- package/dist/ProcessorService.js.map +0 -1
- package/dist/QueuePortionProcessorOrderService.d.ts +0 -5
- package/dist/QueuePortionProcessorOrderService.js +0 -44
- package/dist/QueuePortionProcessorOrderService.js.map +0 -1
- package/dist/QueuePortionProcessorService.d.ts +0 -8
- package/dist/QueuePortionProcessorService.js +0 -33
- package/dist/QueuePortionProcessorService.js.map +0 -1
- package/dist/QueuePortionService.d.ts +0 -7
- package/dist/QueuePortionService.js +0 -38
- package/dist/QueuePortionService.js.map +0 -1
- package/dist/QueueProcessorService.d.ts +0 -15
- package/dist/QueueProcessorService.js +0 -66
- package/dist/QueueProcessorService.js.map +0 -1
- package/dist/QueueService.d.ts +0 -18
- package/dist/QueueService.js +0 -86
- package/dist/QueueService.js.map +0 -1
package/dist/QueueService.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueService = void 0;
|
|
4
|
-
const uuid_1 = require("uuid");
|
|
5
|
-
class QueueService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.threadId = (0, uuid_1.v4)();
|
|
8
|
-
this.loopTimeout = Number(process.env.LOOP_TIMEOUT ?? 10);
|
|
9
|
-
this.attempts = 1;
|
|
10
|
-
}
|
|
11
|
-
listen(queueName) {
|
|
12
|
-
let i = 0;
|
|
13
|
-
while (i < this.attempts) {
|
|
14
|
-
this.listenByAttempt(queueName, i);
|
|
15
|
-
i++;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
async listenByAttempt(queueName, attemptIndex) {
|
|
19
|
-
await this.redisService.rpush(`ready.${queueName}.${attemptIndex}`, this.threadId);
|
|
20
|
-
await new Promise((resolve) => setTimeout(resolve, this.loopTimeout));
|
|
21
|
-
setImmediate(() => this.loop(queueName, attemptIndex));
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
async loop(queueName, attemptIndex) {
|
|
25
|
-
try {
|
|
26
|
-
const readyThreadId = await this.redisService.lpop(`ready.${queueName}.${attemptIndex}`);
|
|
27
|
-
if (readyThreadId) {
|
|
28
|
-
if (readyThreadId === this.threadId) {
|
|
29
|
-
const inputData = await this.select(queueName, attemptIndex);
|
|
30
|
-
if (await this.allowExcecute(queueName, attemptIndex, inputData)) {
|
|
31
|
-
try {
|
|
32
|
-
await this.excecute(queueName, attemptIndex, inputData);
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
this.retry(queueName, attemptIndex, inputData, err);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
await this.redisService.rpush(`ready.${queueName}.${attemptIndex}`, readyThreadId);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
await this.error(queueName, attemptIndex, null, err);
|
|
44
|
-
}
|
|
45
|
-
await new Promise((resolve) => setTimeout(resolve, this.loopTimeout));
|
|
46
|
-
setImmediate(() => this.loop(queueName, attemptIndex));
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
async select(queueName, attemptIndex) {
|
|
50
|
-
return await this.dataProcessingAfterSelect(await this.redisService.lpop(`queue.${queueName}.${attemptIndex}`));
|
|
51
|
-
}
|
|
52
|
-
async dataProcessingAfterSelect(inputData) {
|
|
53
|
-
try {
|
|
54
|
-
return JSON.parse(inputData);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
}
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
async allowExcecute(queueName, attemptIndex, inputData) {
|
|
61
|
-
return !!inputData;
|
|
62
|
-
}
|
|
63
|
-
async excecute(queueName, attemptIndex, inputData) {
|
|
64
|
-
this.success(queueName, attemptIndex, inputData, await this.excecuteWrapper(queueName, attemptIndex, inputData));
|
|
65
|
-
}
|
|
66
|
-
async excecuteWrapper(queueName, attemptIndex, inputData) {
|
|
67
|
-
return {};
|
|
68
|
-
}
|
|
69
|
-
async success(queueName, attemptIndex, inputData, resultData) {
|
|
70
|
-
}
|
|
71
|
-
async error(queueName, attemptIndex, inputData, err) {
|
|
72
|
-
}
|
|
73
|
-
async retry(queueName, attemptIndex, inputData, err) {
|
|
74
|
-
try {
|
|
75
|
-
if (attemptIndex < (this.attempts - 1)) {
|
|
76
|
-
return await this.redisService.rpush(`queue.${queueName}.${attemptIndex + 1}`, JSON.stringify(inputData));
|
|
77
|
-
}
|
|
78
|
-
this.error(queueName, attemptIndex, inputData, err);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
}
|
|
82
|
-
return 0;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.QueueService = QueueService;
|
|
86
|
-
//# sourceMappingURL=QueueService.js.map
|
package/dist/QueueService.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueueService.js","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":";;;AACA,+BAAoC;AAEpC,MAAa,YAAY;IAAzB;QAEiB,aAAQ,GAAW,IAAA,SAAM,GAAE,CAAC;QAC5B,gBAAW,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAC7D,aAAQ,GAAW,CAAC,CAAC;IAyFtC,CAAC;IAvFA,MAAM,CAAC,SAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC,EAAE,CAAC;QACL,CAAC;IACF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,YAAoB;QAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,SAAS,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAEtE,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,YAAoB;QACjD,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;YAEzF,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,aAAa,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBAE7D,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;wBAClE,IAAI,CAAC;4BACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;wBACzD,CAAC;wBACD,OAAO,GAAG,EAAE,CAAC;4BACZ,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;wBACrD,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,SAAS,IAAI,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;YACpF,CAAC;QACF,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACtE,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,YAAoB;QACnD,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,SAAc;QAC7C,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc;QAC1E,OAAO,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc;QACrE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc;QAC5E,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc,EAAE,UAAe;IACtF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc,EAAE,GAAG;IACxE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,YAAoB,EAAE,SAAc,EAAE,GAAG;QACvE,IAAI,CAAC;YACJ,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3G,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;CACD;AA7FD,oCA6FC"}
|