clever-queue 0.1.1 → 0.2.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 (79) hide show
  1. package/.gitlab-ci.yml +80 -0
  2. package/README.md +66 -6
  3. package/dist/engine/index.d.ts +14 -10
  4. package/dist/engine/index.js +45 -46
  5. package/dist/engine/index.js.map +1 -1
  6. package/dist/engine/interfaces.d.ts +3 -2
  7. package/dist/engine/interfaces.js.map +1 -1
  8. package/dist/helpers/id.d.ts +2 -0
  9. package/dist/helpers/id.js +7 -0
  10. package/dist/helpers/id.js.map +1 -0
  11. package/dist/helpers/index.d.ts +1 -0
  12. package/dist/helpers/index.js +19 -8
  13. package/dist/helpers/index.js.map +1 -1
  14. package/dist/index.d.ts +6 -6
  15. package/dist/index.js +25 -15
  16. package/dist/index.js.map +1 -1
  17. package/dist/{queue → queues}/index.d.ts +8 -5
  18. package/dist/{queue → queues}/index.js +27 -33
  19. package/dist/queues/index.js.map +1 -0
  20. package/dist/{queue → queues}/interfaces.d.ts +9 -4
  21. package/dist/{queue → queues}/interfaces.js +4 -2
  22. package/dist/queues/interfaces.js.map +1 -0
  23. package/dist/{runner → runners}/index.d.ts +7 -3
  24. package/dist/{runner → runners}/index.js +33 -15
  25. package/dist/runners/index.js.map +1 -0
  26. package/dist/{runner → runners}/interfaces.d.ts +2 -1
  27. package/dist/{runner → runners}/interfaces.js +1 -1
  28. package/dist/runners/interfaces.js.map +1 -0
  29. package/dist/{task → tasks}/index.d.ts +8 -2
  30. package/dist/{task → tasks}/index.js +35 -16
  31. package/dist/tasks/index.js.map +1 -0
  32. package/dist/{task → tasks}/interfaces.d.ts +2 -1
  33. package/dist/{task → tasks}/interfaces.js +4 -0
  34. package/dist/tasks/interfaces.js.map +1 -0
  35. package/documentation/demo_1E_1Q_1R_4T.svg +1 -0
  36. package/documentation/demo_1E_1Q_2R_4T.svg +1 -0
  37. package/documentation/demo_1E_2Q_1R_8T.svg +1 -0
  38. package/eslint.config.mjs +68 -68
  39. package/examples/package-lock.json +19 -0
  40. package/examples/package.json +15 -0
  41. package/examples/src/demo_1E_1Q_1R_4T.ts +37 -0
  42. package/examples/src/demo_1E_1Q_2R_4T.ts +36 -0
  43. package/examples/src/demo_1E_2Q_1R_8T.ts +40 -0
  44. package/examples/src/example00.ts +16 -0
  45. package/examples/src/helpers/animations.ts +295 -0
  46. package/examples/src/helpers/index.ts +2 -0
  47. package/examples/src/helpers/myAsyncTaskToExecute.ts +6 -0
  48. package/examples/src/helpers/svg.ts +155 -0
  49. package/examples/src/tsconfig.json +24 -0
  50. package/package.json +65 -55
  51. package/src/engine/index.ts +37 -48
  52. package/src/engine/interfaces.ts +3 -2
  53. package/src/helpers/id.ts +4 -0
  54. package/src/helpers/index.ts +1 -0
  55. package/src/index.ts +7 -7
  56. package/src/{queue → queues}/index.ts +11 -28
  57. package/src/{queue → queues}/interfaces.ts +4 -3
  58. package/src/{runner → runners}/index.ts +17 -12
  59. package/src/{runner → runners}/interfaces.ts +2 -1
  60. package/src/{task → tasks}/index.ts +18 -11
  61. package/src/{task → tasks}/interfaces.ts +6 -1
  62. package/test/issues/00001.mjs +35 -0
  63. package/test/miscellaneous/test.mjs +13 -13
  64. package/test/units/engine.mjs +5 -5
  65. package/test/units/queue.mjs +4 -4
  66. package/test/units/task.mjs +6 -6
  67. package/dist/errors.d.ts +0 -13
  68. package/dist/errors.js +0 -42
  69. package/dist/errors.js.map +0 -1
  70. package/dist/queue/index.js.map +0 -1
  71. package/dist/queue/interfaces.js.map +0 -1
  72. package/dist/runner/index.js.map +0 -1
  73. package/dist/runner/interfaces.js.map +0 -1
  74. package/dist/task/index.js.map +0 -1
  75. package/dist/task/interfaces.js.map +0 -1
  76. package/exemples/index01.js +0 -116
  77. package/exemples/index01.ts +0 -98
  78. package/exemples/index02.mjs +0 -13
  79. package/exemples/tsconfig.json +0 -24
@@ -1,7 +1,7 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { describe, it } from "node:test";
3
3
 
4
- import * as CleverQueue from "../../dist/index.js";
4
+ import * as cleverQueue from "../../dist/index.js";
5
5
 
6
6
  const engineOptions = {
7
7
  bestEffortRunners: 3,
@@ -10,22 +10,22 @@ const engineOptions = {
10
10
 
11
11
  describe("Scheduler Unit Tests", () => {
12
12
  it("Priority Test", () => {
13
- const engine = CleverQueue.createEngine(engineOptions);
13
+ const engine = cleverQueue.createEngine(engineOptions);
14
14
  const queue1 = engine.createQueue({
15
15
  name: "A",
16
- priority: CleverQueue.Queue.Priorities.Absolute,
16
+ priority: cleverQueue.queues.Priorities.Absolute,
17
17
  weight: 50,
18
18
  });
19
19
  for (let index = 0; index < 100; index++) queue1.enqueue(engine.createTask(() => {}, {}));
20
20
  const queue2 = engine.createQueue({
21
21
  name: "B",
22
- priority: CleverQueue.Queue.Priorities.Standard,
22
+ priority: cleverQueue.queues.Priorities.Standard,
23
23
  weight: 50,
24
24
  });
25
25
  for (let index = 0; index < 100; index++) queue2.enqueue(engine.createTask(() => {}, {}));
26
26
  const queue3 = engine.createQueue({
27
27
  name: "C",
28
- priority: CleverQueue.Queue.Priorities.BestEffort,
28
+ priority: cleverQueue.queues.Priorities.BestEffort,
29
29
  weight: 50,
30
30
  });
31
31
  for (let index = 0; index < 100; index++) queue3.enqueue(engine.createTask(() => {}, {}));
@@ -36,22 +36,22 @@ describe("Scheduler Unit Tests", () => {
36
36
  });
37
37
 
38
38
  it("Weighted Test", () => {
39
- const engine = CleverQueue.createEngine(engineOptions);
39
+ const engine = cleverQueue.createEngine(engineOptions);
40
40
  const queue1 = engine.createQueue({
41
41
  name: "A",
42
- priority: CleverQueue.Queue.Priorities.Absolute,
42
+ priority: cleverQueue.queues.Priorities.Absolute,
43
43
  weight: 80,
44
44
  });
45
45
  for (let index = 0; index < 100; index++) queue1.enqueue(engine.createTask(() => {}, {}));
46
46
  const queue2 = engine.createQueue({
47
47
  name: "B",
48
- priority: CleverQueue.Queue.Priorities.Absolute,
48
+ priority: cleverQueue.queues.Priorities.Absolute,
49
49
  weight: 50,
50
50
  });
51
51
  for (let index = 0; index < 100; index++) queue2.enqueue(engine.createTask(() => {}, {}));
52
52
  const queue3 = engine.createQueue({
53
53
  name: "C",
54
- priority: CleverQueue.Queue.Priorities.Absolute,
54
+ priority: cleverQueue.queues.Priorities.Absolute,
55
55
  weight: 20,
56
56
  });
57
57
  for (let index = 0; index < 100; index++) queue3.enqueue(engine.createTask(() => {}, {}));
@@ -62,25 +62,25 @@ describe("Scheduler Unit Tests", () => {
62
62
  });
63
63
 
64
64
  it("Combine Test", () => {
65
- const engine = CleverQueue.createEngine(engineOptions);
65
+ const engine = cleverQueue.createEngine(engineOptions);
66
66
 
67
67
  const queue1 = engine.createQueue({
68
68
  name: "A - Absolute - 80",
69
- priority: CleverQueue.Queue.Priorities.Absolute,
69
+ priority: cleverQueue.queues.Priorities.Absolute,
70
70
  weight: 80,
71
71
  });
72
72
  for (let index = 0; index < 100; index++) queue1.enqueue(engine.createTask(() => {}, {}));
73
73
 
74
74
  const queue2 = engine.createQueue({
75
75
  name: "B - Standard - 50",
76
- priority: CleverQueue.Queue.Priorities.Standard,
76
+ priority: cleverQueue.queues.Priorities.Standard,
77
77
  weight: 50,
78
78
  });
79
79
  for (let index = 0; index < 100; index++) queue2.enqueue(engine.createTask(() => {}, {}));
80
80
 
81
81
  const queue3 = engine.createQueue({
82
82
  name: "C- Standard - 20",
83
- priority: CleverQueue.Queue.Priorities.Standard,
83
+ priority: cleverQueue.queues.Priorities.Standard,
84
84
  weight: 20,
85
85
  });
86
86
  for (let index = 0; index < 100; index++) queue3.enqueue(engine.createTask(() => {}, {}));
@@ -1,11 +1,11 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { describe, it } from "node:test";
3
3
 
4
- import * as CleverQueue from "../../dist/index.js";
4
+ import * as cleverQueue from "../../dist/index.js";
5
5
 
6
6
  describe("Engine Class Unit Tests", () => {
7
7
  it("Successfull Initialisation without any option (use hardcoded default options)", () => {
8
- const engine = CleverQueue.createEngine();
8
+ const engine = cleverQueue.createEngine();
9
9
  const statistics = engine.statistics();
10
10
  assert.equal(statistics.engine.runners, 1);
11
11
  assert.equal(statistics.engine.queues, 0);
@@ -15,10 +15,10 @@ describe("Engine Class Unit Tests", () => {
15
15
  it("Exception with stupid bestEffortRunners Options", () => {
16
16
  assert.throws(
17
17
  () =>
18
- CleverQueue.createEngine({
18
+ cleverQueue.createEngine({
19
19
  bestEffortRunners: -1,
20
20
  }),
21
- { name: CleverQueue.Engine.ErrorsList.bestEffortRunnersOptionMustBeGreaterThanZero.name },
21
+ { name: cleverQueue.engine.ErrorsList.bestEffortRunnersOptionMustBeGreaterThanZero.name },
22
22
  );
23
23
  });
24
24
 
@@ -26,7 +26,7 @@ describe("Engine Class Unit Tests", () => {
26
26
  const engineOptions = {
27
27
  bestEffortRunners: 3,
28
28
  };
29
- const engine = CleverQueue.createEngine(engineOptions);
29
+ const engine = cleverQueue.createEngine(engineOptions);
30
30
  const statistics = engine.statistics();
31
31
  assert.equal(statistics.engine.runners, engineOptions.bestEffortRunners);
32
32
  assert.equal(statistics.engine.queues, 0);
@@ -1,7 +1,7 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { describe, it } from "node:test";
3
3
 
4
- import * as CleverQueue from "../../dist/index.js";
4
+ import * as cleverQueue from "../../dist/index.js";
5
5
 
6
6
  const engineOptions = {
7
7
  bestEffortRunners: 3,
@@ -10,7 +10,7 @@ const engineOptions = {
10
10
 
11
11
  describe("Queue Class Unit Tests", () => {
12
12
  it("Successfull Initialisation without any option (use hardcoded default options)", () => {
13
- const engine = CleverQueue.createEngine();
13
+ const engine = cleverQueue.createEngine();
14
14
  const statistics = engine.statistics();
15
15
  assert.equal(statistics.engine.runners, 1);
16
16
  assert.equal(statistics.engine.queues, 0);
@@ -18,9 +18,9 @@ describe("Queue Class Unit Tests", () => {
18
18
  });
19
19
 
20
20
  it("Successfull Initialisation", () => {
21
- const engine = CleverQueue.createEngine(engineOptions);
21
+ const engine = cleverQueue.createEngine(engineOptions);
22
22
  const queueOptions = {
23
- priority: CleverQueue.Queue.Priorities.Standard,
23
+ priority: cleverQueue.queues.Priorities.Standard,
24
24
  weight: 50,
25
25
  };
26
26
  const queue = engine.createQueue(queueOptions);
@@ -1,7 +1,7 @@
1
1
  import assert from "node:assert/strict";
2
2
  import { describe, it } from "node:test";
3
3
 
4
- import * as CleverQueue from "../../dist/index.js";
4
+ import * as cleverQueue from "../../dist/index.js";
5
5
 
6
6
  const engineOptions = {
7
7
  bestEffortRunners: 3,
@@ -17,10 +17,10 @@ const task = async (string_) => {
17
17
 
18
18
  describe("Scheduler Unit Tests", () => {
19
19
  it("Exception if function passed is not a function (but a result of an executed function)", () => {
20
- const engine = CleverQueue.createEngine(engineOptions);
20
+ const engine = cleverQueue.createEngine(engineOptions);
21
21
  const queue1 = engine.createQueue({
22
22
  name: "A",
23
- priority: CleverQueue.Queue.Priorities.Absolute,
23
+ priority: cleverQueue.queues.Priorities.Absolute,
24
24
  weight: 50,
25
25
  });
26
26
  assert.rejects(
@@ -28,16 +28,16 @@ describe("Scheduler Unit Tests", () => {
28
28
  const myTask = engine.createTask(task("myTask"), {});
29
29
  await queue1.enqueue(myTask);
30
30
  },
31
- { name: CleverQueue.Task.ErrorsList.FunctionIsNotAFunction.name },
31
+ { name: cleverQueue.tasks.ErrorsList.FunctionIsNotAFunction.name },
32
32
  );
33
33
  engine.stop();
34
34
  });
35
35
 
36
36
  it("Priority Test", () => {
37
- const engine = CleverQueue.createEngine(engineOptions);
37
+ const engine = cleverQueue.createEngine(engineOptions);
38
38
  const queue1 = engine.createQueue({
39
39
  name: "A",
40
- priority: CleverQueue.Queue.Priorities.Absolute,
40
+ priority: cleverQueue.queues.Priorities.Absolute,
41
41
  weight: 50,
42
42
  });
43
43
 
package/dist/errors.d.ts DELETED
@@ -1,13 +0,0 @@
1
- declare const CQErrors: {
2
- [index: string]: {
3
- name: string;
4
- message: string;
5
- };
6
- };
7
- declare class CQError extends Error {
8
- constructor(error: {
9
- name: string;
10
- message: string;
11
- }, context?: object);
12
- }
13
- export { CQError, CQErrors };
package/dist/errors.js DELETED
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CQErrors = exports.CQError = void 0;
4
- const CQErrors = {
5
- NoOptionsOnEngineInitialization: { name: "NoOptionsOnEngineInitialization", message: "You must provide an options parameter to Engine" },
6
- defaultRunnersOptionMustBeGreaterThanZero: { name: "concurrentRunnersOptionMustBeGreaterThanZero", message: "concurrentRunners Option must be equal or superior to 1" },
7
- priorityRunnersOptionMustBeZeroOrGreaterThanZero: {
8
- name: "dedicatedPriorityRunnersOptionMustBeZeroOrGreaterThanZero",
9
- message: "dedicatedPriorityRunners Option must be equal or superior to 0",
10
- },
11
- priorityRunnersOptionMustBeLessThanconcurrentRunners: {
12
- name: "dedicatedPriorityRunnersOptionMustBeLessThanconcurrentRunners",
13
- message: "dedicatedPriorityRunners Option must be less than concurrentRunners option",
14
- },
15
- BadPriorityOptionsOnQueueInitialization: {
16
- name: "BadPriorityOptionsOnQueueInitialization",
17
- message: "You must provide a 'priority' parameter for Queue initialization from 0 (absolute priority) to 255 (best effort priority), you may use CleverQueue.Priorities constants",
18
- },
19
- NoWeightOptionsOnQueueInitialization: {
20
- name: "NoWeightOptionsOnQueueInitialization",
21
- message: "You must provide a 'weight' parameter for Queue initialization",
22
- },
23
- NoOptionsOnQueueInitialization: { name: "NoOptionsOnQueueInitialization", message: "You must provide an options parameter to Queue" },
24
- };
25
- exports.CQErrors = CQErrors;
26
- class CQError extends Error {
27
- constructor(error, context) {
28
- if (!error) {
29
- error = {
30
- name: "undocumentedError",
31
- message: "Undocumented Error, please raise an issue to developpers",
32
- };
33
- }
34
- super(error.message);
35
- this.name = error.name;
36
- this.message = error.message;
37
- if (context)
38
- this.cause = JSON.stringify(context);
39
- }
40
- }
41
- exports.CQError = CQError;
42
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAA2D;IACvE,+BAA+B,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,iDAAiD,EAAE;IACxI,yCAAyC,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,OAAO,EAAE,yDAAyD,EAAE;IACvK,gDAAgD,EAAE;QAChD,IAAI,EAAE,2DAA2D;QACjE,OAAO,EAAE,gEAAgE;KAC1E;IACD,oDAAoD,EAAE;QACpD,IAAI,EAAE,+DAA+D;QACrE,OAAO,EAAE,4EAA4E;KACtF;IAED,uCAAuC,EAAE;QACvC,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EACL,yKAAyK;KAC5K;IACD,oCAAoC,EAAE;QACpC,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,gEAAgE;KAC1E;IAED,8BAA8B,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,gDAAgD,EAAE;CACtI,CAAC;AAiBgB,4BAAQ;AAf1B,MAAM,OAAQ,SAAQ,KAAK;IACzB,YAAY,KAAwC,EAAE,OAAgB;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,0DAA0D;aACpE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAEQ,0BAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;AAEf,8CAAgC;AAChC,8CAAgC;AAChC,6CAA2E;AAM3E,MAAM,cAAc,GAAY;IAC9B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,uBAAU,CAAC,QAAQ;IAC7B,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,KAAK;IACT,MAAM,GAAW,SAAS,CAAC;IAClB,OAAO,CAAU;IAC1B,IAAI,GAAW,CAAC,CAAC;IACjB,KAAK,GAAgB,EAAE,CAAC;IAExB,YAAY,GAAY;QACtB,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,8BAA8B,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG;YAC3F,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,oCAAoC,CAAC,CAAC;QACjG,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;IAqBA;IACA,KAAK,CAAC,oBAAoB,CAAC,SAAiC,EAAE,OAAqB;QACjF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAe;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,MAAM,IAAI,GAAe;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SACzB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAGQ,sBAAK;AADd,2CAA2E;AAA7C,wGAAA,UAAU,OAAA;AAAE,wGAAA,UAAU,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/queue/interfaces.ts"],"names":[],"mappings":";;;AAEA,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAmCzB,gCAAU;AAhBpD,MAAM,UAAU,GAEZ;IACF,uCAAuC,EAAE;QACvC,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EACL,yKAAyK;KAC5K;IACD,oCAAoC,EAAE;QACpC,IAAI,EAAE,sCAAsC;QAC5C,OAAO,EAAE,gEAAgE;KAC1E;IAED,8BAA8B,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,gDAAgD,EAAE;CACtI,CAAC;AAE4B,gCAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEf,8CAAgC;AAChC,6CAA2E;AAG3E,+CAA6B;AAI7B,MAAM,cAAc,GAAY;IAC9B,QAAQ,EAAE,uBAAU,CAAC,UAAU;IAC/B,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,MAAM;IACV,MAAM,GAAW,SAAS,CAAC;IAClB,QAAQ,CAAU;IAClB,OAAO,CAAS;IAEzB,YAAY,GAAY,EAAE,MAAc;QACtC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,0CAA0C;QACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,+BAA+B,CAAC,CAAC;QACrF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mDAAmD;YAC5G,6DAA6D;YAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,MAAM,IAAI,GAAe;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;SACjC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAGQ,wBAAM;AADf,2CAA+D;AAAjC,wGAAA,UAAU,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/runner/interfaces.ts"],"names":[],"mappings":";;;AAaA,MAAM,UAAU,GAEZ;IACF,+BAA+B,EAAE;QAC/B,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,iCAAiC;KAC3C;CACF,CAAC;AAG4B,gCAAU;AADxC,kDAAiD;AAAxC,wGAAA,UAAU,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;AAEf,8CAAgC;AAChC,6CAAkF;AAIlF,MAAM,cAAc,GAAY;IAC9B,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,IAAI;IACR,MAAM,GAAW,SAAS,CAAC;IAClB,QAAQ,CAAU;IAC3B,kBAAkB,CAAoB;IACtC,MAAM,GAAwB,SAAS,CAAC;IAC/B,MAAM,CAAyB;IAExC,8DAA8D;IAC9D,QAAQ,CAA0C;IAClD,8DAA8D;IAC9D,QAAQ,CAAyB;IAEjC,gBAAgB;QACd,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,wBAAwB,CAAC,CAAC;IAClE,CAAC;IACD,gBAAgB;QACd,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,wBAAwB,CAAC,CAAC;IAClE,CAAC;IAED,YAAY,SAA4B,EAAE,GAAY;QACpD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAE7E,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,sBAAsB,CAAC,CAAC;QAEnG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QAEpC,IAAI,CAAC,MAAM,GAAG,KAAK,IAAmB,EAAE;YACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,+BAA+B;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9C,2CAA2C;YAC3C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAU,CAAC,6BAA6B,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU;QACR,MAAM,IAAI,GAAe;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAGQ,oBAAI;AADb,2CAAkF;AAApD,wGAAA,UAAU,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/task/interfaces.ts"],"names":[],"mappings":";;;AAgBA,MAAM,UAAU,GAEZ;IACF,6BAA6B,EAAE;QAC7B,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,+BAA+B;KACzC;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,wBAAwB;KAClC;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,0BAA0B;KACpC;CACF,CAAC;AAE4B,gCAAU"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const CleverQueue = __importStar(require("../dist/index.js"));
27
- /* openTelemetry */
28
- /*
29
- import * as OTL from "@opentelemetry/api";
30
- import * as OTLTrace from "@opentelemetry/sdk-trace-node";
31
- import * as OTLTraceBase from "@opentelemetry/sdk-trace-base";
32
-
33
- const { trace, context } = require("@opentelemetry/api");
34
-
35
- const activeSpan = OTL.trace.getSpan(OTL.context.active());
36
-
37
- const traceId = activeSpan.spanContext().traceId;
38
- const spanId = activeSpan.spanContext().spanId;
39
- const traceFlag = activeSpan.spanContext().traceFlags;
40
-
41
- console.log(traceId, spanId, traceFlag);
42
-
43
- /*
44
- import { NodeSDK as OTLNodeSDK } from "@opentelemetry/sdk-node";
45
-
46
- const otl = new OTLNodeSDK({
47
- traceExporter: new OTLConsoleSpanExporter(),
48
- });
49
-
50
- otl.start();
51
- */
52
- /*
53
- OTL.diag.setLogger(new OTL.DiagConsoleLogger(), OTL.DiagLogLevel.DEBUG);
54
- const tracerProvider = new OTLTrace.NodeTracerProvider();
55
- const exporter = new OTLTraceBase.ConsoleSpanExporter();
56
- const processor = new OTLTraceBase.SimpleSpanProcessor(exporter);
57
- tracerProvider.addSpanProcessor(processor);
58
- tracerProvider.register();
59
-
60
- const tracer = OTL.trace.getTracer("esm-tracer");
61
- tracer.startActiveSpan("manual", (span) => {
62
- span.addEvent("myEvent");
63
- span.addEvent("myEvent2");
64
- span.end();
65
- });
66
- */
67
- // eslint-disable-next-line unicorn/no-process-exit
68
- // process.exit(0);
69
- const myFunction = function (message) {
70
- // eslint-disable-next-line no-console
71
- console.log("Executing", message);
72
- };
73
- /*
74
- const myPromise: CleverQueue.Task.FunctionToExecute = function (message: string): Promise<string> {
75
- console.log(message);
76
- await new Promise((resolve) => setTimeout(resolve, 2000));
77
- console.log(message);
78
- return message;
79
- };
80
- */
81
- const myAsync = async function (message) {
82
- logFunction({ body: "Executing " + message });
83
- await new Promise((resolve) => setTimeout(resolve, 2000));
84
- return message;
85
- };
86
- const logFunction = function (logRecord) {
87
- console.log(JSON.stringify(logRecord));
88
- };
89
- async function run() {
90
- logFunction({ body: "01 - Creating Engine" });
91
- const engine = CleverQueue.createEngine({ logFunction: logFunction, bestEffortRunners: 2 });
92
- logFunction({ body: "02 - Creating Queue" });
93
- const queue = engine.createQueue({ priority: CleverQueue.Queue.Priorities.Standard, weight: 50 });
94
- logFunction({ body: "03 - Creating Tasks" });
95
- const task1 = engine.createTask(() => myAsync("myAsync01"), {});
96
- const task2 = engine.createTask(() => myAsync("myAsync02"), {});
97
- const task3 = engine.createTask(() => myAsync("myAsync03"), {});
98
- logFunction({ body: "04 - Enqueue Task" });
99
- const result = await queue.enqueue(task1);
100
- queue.enqueue(task2);
101
- queue.enqueue(task3);
102
- logFunction({ body: JSON.stringify(engine.statistics()) });
103
- logFunction({ body: result });
104
- logFunction({ body: "05 - Stopping Engine" });
105
- logFunction({ body: JSON.stringify(engine.statistics()) });
106
- engine.stop();
107
- logFunction({ body: JSON.stringify(engine.statistics()) });
108
- while (engine.statistics().engine.tasks > 0) {
109
- await new Promise((resolve) => setTimeout(resolve, 100));
110
- }
111
- logFunction({ body: JSON.stringify(engine.statistics()) });
112
- await new Promise((resolve) => setTimeout(resolve, 2000));
113
- logFunction({ body: JSON.stringify(engine.statistics()) });
114
- logFunction({ body: { task1: task1.result, task2: task2.result, task3: task3.result } });
115
- }
116
- run();
@@ -1,98 +0,0 @@
1
- import * as CleverQueue from "../dist/index.js";
2
-
3
- /* openTelemetry */
4
- /*
5
- import * as OTL from "@opentelemetry/api";
6
- import * as OTLTrace from "@opentelemetry/sdk-trace-node";
7
- import * as OTLTraceBase from "@opentelemetry/sdk-trace-base";
8
-
9
- const { trace, context } = require("@opentelemetry/api");
10
-
11
- const activeSpan = OTL.trace.getSpan(OTL.context.active());
12
-
13
- const traceId = activeSpan.spanContext().traceId;
14
- const spanId = activeSpan.spanContext().spanId;
15
- const traceFlag = activeSpan.spanContext().traceFlags;
16
-
17
- console.log(traceId, spanId, traceFlag);
18
-
19
- /*
20
- import { NodeSDK as OTLNodeSDK } from "@opentelemetry/sdk-node";
21
-
22
- const otl = new OTLNodeSDK({
23
- traceExporter: new OTLConsoleSpanExporter(),
24
- });
25
-
26
- otl.start();
27
- */
28
- /*
29
- OTL.diag.setLogger(new OTL.DiagConsoleLogger(), OTL.DiagLogLevel.DEBUG);
30
- const tracerProvider = new OTLTrace.NodeTracerProvider();
31
- const exporter = new OTLTraceBase.ConsoleSpanExporter();
32
- const processor = new OTLTraceBase.SimpleSpanProcessor(exporter);
33
- tracerProvider.addSpanProcessor(processor);
34
- tracerProvider.register();
35
-
36
- const tracer = OTL.trace.getTracer("esm-tracer");
37
- tracer.startActiveSpan("manual", (span) => {
38
- span.addEvent("myEvent");
39
- span.addEvent("myEvent2");
40
- span.end();
41
- });
42
- */
43
-
44
- const myFunction: CleverQueue.Task.FunctionToExecute = function (message: string) {
45
- // eslint-disable-next-line no-console
46
- console.log("Executing", message);
47
- };
48
-
49
- /*
50
- const myPromise: CleverQueue.Task.FunctionToExecute = function (message: string): Promise<string> {
51
- console.log(message);
52
- await new Promise((resolve) => setTimeout(resolve, 2000));
53
- console.log(message);
54
- return message;
55
- };
56
- */
57
-
58
- const myAsync: CleverQueue.Task.FunctionToExecute = async function (message: string) {
59
- logFunction({ body: "Executing " + message });
60
- await new Promise((resolve) => setTimeout(resolve, 2000));
61
- return message;
62
- };
63
-
64
- const logFunction: CleverQueue.Engine.LogFunction = function (logRecord) {
65
- // eslint-disable-next-line no-console
66
- console.log(JSON.stringify(logRecord));
67
- };
68
-
69
- async function run(): Promise<void> {
70
- logFunction({ body: "01 - Creating Engine" });
71
- const engine = CleverQueue.createEngine({ logFunction: logFunction, bestEffortRunners: 2 });
72
- logFunction({ body: "02 - Creating Queue" });
73
- const queue = engine.createQueue({ priority: CleverQueue.Queue.Priorities.Standard, weight: 50 });
74
- logFunction({ body: "03 - Creating Tasks" });
75
- const task1 = engine.createTask(() => myAsync("myAsync01"), {});
76
- const task2 = engine.createTask(() => myAsync("myAsync02"), {});
77
- const task3 = engine.createTask(() => myAsync("myAsync03"), {});
78
- logFunction({ body: "04 - Enqueue Task" });
79
- const result = await queue.enqueue(task1);
80
- queue.enqueue(task2);
81
- queue.enqueue(task3);
82
- logFunction({ body: JSON.stringify(engine.statistics()) });
83
- logFunction({ body: result as string });
84
- logFunction({ body: "05 - Stopping Engine" });
85
- logFunction({ body: JSON.stringify(engine.statistics()) });
86
- engine.stop();
87
- logFunction({ body: JSON.stringify(engine.statistics()) });
88
- while (engine.statistics().engine.tasks > 0) {
89
- await new Promise((resolve) => setTimeout(resolve, 100));
90
- }
91
- logFunction({ body: JSON.stringify(engine.statistics()) });
92
- await new Promise((resolve) => setTimeout(resolve, 2000));
93
- logFunction({ body: JSON.stringify(engine.statistics()) });
94
- logFunction({ body: { task1: task1.result as string, task2: task2.result as string, task3: task3.result as string } });
95
- }
96
-
97
- // eslint-disable-next-line unicorn/prefer-top-level-await
98
- run();
@@ -1,13 +0,0 @@
1
- import * as CleverQueue from "../dist/index.js";
2
-
3
- async function run() {
4
- console.log("01");
5
- const engine = CleverQueue.createEngine({ bestEffortRunners: 2 });
6
- const queue = engine.createQueue({ priority: CleverQueue.Queue.Priorities.Standard, weight: 50 });
7
- console.log("02");
8
- // engine.run();
9
- console.log("03");
10
- queue.createTask("aaaa");
11
- }
12
-
13
- run();
@@ -1,24 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "CommonJS",
4
- "esModuleInterop": true,
5
- "target": "es2022",
6
- "moduleResolution": "node",
7
- "lib": [
8
- "es2022",
9
- ],
10
- "strict": true,
11
- "useUnknownInCatchVariables": true,
12
- "noImplicitAny": true,
13
- "strictNullChecks": true,
14
- "strictFunctionTypes": true,
15
- "strictBindCallApply": true,
16
- "strictPropertyInitialization": true,
17
- "noImplicitThis": true,
18
- "alwaysStrict": true,
19
- "forceConsistentCasingInFileNames": true
20
- },
21
- "$schema": "https://json.schemastore.org/tsconfig",
22
- "display": "Recommended"
23
- }
24
-