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.
Files changed (41) hide show
  1. package/dist/Processor.d.ts +14 -0
  2. package/dist/Processor.js +47 -0
  3. package/dist/Processor.js.map +1 -0
  4. package/dist/Queue.d.ts +30 -0
  5. package/dist/Queue.js +149 -0
  6. package/dist/Queue.js.map +1 -0
  7. package/dist/QueuePortion.d.ts +8 -0
  8. package/dist/QueuePortion.js +35 -0
  9. package/dist/QueuePortion.js.map +1 -0
  10. package/dist/QueuePortionProcessor.d.ts +8 -0
  11. package/dist/QueuePortionProcessor.js +41 -0
  12. package/dist/QueuePortionProcessor.js.map +1 -0
  13. package/dist/QueuePortionProcessorMethod.d.ts +11 -0
  14. package/dist/QueuePortionProcessorMethod.js +68 -0
  15. package/dist/QueuePortionProcessorMethod.js.map +1 -0
  16. package/dist/QueueProcessor.d.ts +14 -0
  17. package/dist/QueueProcessor.js +55 -0
  18. package/dist/QueueProcessor.js.map +1 -0
  19. package/dist/index.d.ts +7 -7
  20. package/dist/index.js +13 -13
  21. package/dist/index.js.map +1 -1
  22. package/dist/tsconfig.build.tsbuildinfo +1 -1
  23. package/package.json +1 -1
  24. package/dist/ProcessorService.d.ts +0 -7
  25. package/dist/ProcessorService.js +0 -19
  26. package/dist/ProcessorService.js.map +0 -1
  27. package/dist/QueuePortionProcessorOrderService.d.ts +0 -5
  28. package/dist/QueuePortionProcessorOrderService.js +0 -44
  29. package/dist/QueuePortionProcessorOrderService.js.map +0 -1
  30. package/dist/QueuePortionProcessorService.d.ts +0 -8
  31. package/dist/QueuePortionProcessorService.js +0 -33
  32. package/dist/QueuePortionProcessorService.js.map +0 -1
  33. package/dist/QueuePortionService.d.ts +0 -7
  34. package/dist/QueuePortionService.js +0 -38
  35. package/dist/QueuePortionService.js.map +0 -1
  36. package/dist/QueueProcessorService.d.ts +0 -15
  37. package/dist/QueueProcessorService.js +0 -66
  38. package/dist/QueueProcessorService.js.map +0 -1
  39. package/dist/QueueService.d.ts +0 -18
  40. package/dist/QueueService.js +0 -86
  41. package/dist/QueueService.js.map +0 -1
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueueService.js","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":"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"}