@xacos/queue 1.0.0 → 1.0.1

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.
@@ -1,8 +1,8 @@
1
1
  export interface QueueDriver {
2
2
  push(job: import('./XJob').XJob): Promise<void> | void;
3
3
  }
4
- export declare function resolveQueueDriver(): QueueDriver;
4
+ export declare function resolveQueueDriver(): Promise<QueueDriver>;
5
5
  export declare class QueueManager {
6
- static resolve(): QueueDriver;
6
+ static resolve(): Promise<QueueDriver>;
7
7
  }
8
8
  //# sourceMappingURL=QueueManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../src/QueueManager.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,GAAG,EAAE,OAAO,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAID,wBAAgB,kBAAkB,IAAI,WAAW,CAsBhD;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,OAAO,IAAI,WAAW;CAG9B"}
1
+ {"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../src/QueueManager.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,GAAG,EAAE,OAAO,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAID,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAsB/D;AAED,qBAAa,YAAY;WACV,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;CAG7C"}
@@ -1,12 +1,12 @@
1
1
  import { MemoryQueue } from './drivers/MemoryQueue';
2
2
  let _instance = null;
3
- export function resolveQueueDriver() {
3
+ export async function resolveQueueDriver() {
4
4
  if (_instance)
5
5
  return _instance;
6
6
  const driver = process.env['QUEUE_DRIVER'] ?? 'memory';
7
7
  switch (driver) {
8
8
  case 'redis': {
9
- const { BullMQQueue } = require('./drivers/BullMQQueue');
9
+ const { BullMQQueue } = await import('./drivers/BullMQQueue');
10
10
  _instance = new BullMQQueue({
11
11
  host: process.env['REDIS_HOST'] ?? 'localhost',
12
12
  port: Number(process.env['REDIS_PORT'] ?? 6379),
@@ -22,7 +22,7 @@ export function resolveQueueDriver() {
22
22
  return _instance;
23
23
  }
24
24
  export class QueueManager {
25
- static resolve() {
25
+ static async resolve() {
26
26
  return resolveQueueDriver();
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../src/QueueManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,IAAI,SAAS,GAAuB,IAAI,CAAC;AAEzC,MAAM,UAAU,kBAAkB;IAChC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC;IAEvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAA2C,CAAC;YACnG,SAAS,GAAG,IAAI,WAAW,CAAC;gBAC1B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW;gBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;aACxC,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC;QACd;YACE,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM;IACV,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,OAAO;QACZ,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../src/QueueManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,IAAI,SAAS,GAAuB,IAAI,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC;IAEvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC9D,SAAS,GAAG,IAAI,WAAW,CAAC;gBAC1B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW;gBAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC/C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;aACxC,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC;QACd;YACE,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM;IACV,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,OAAO;QAClB,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD"}
package/dist/dispatch.js CHANGED
@@ -7,6 +7,7 @@ import { QueueManager } from './QueueManager';
7
7
  * await dispatch(new SendWelcomeEmailJob(user.id));
8
8
  */
9
9
  export async function dispatch(job) {
10
- await QueueManager.resolve().push(job);
10
+ const driver = await QueueManager.resolve();
11
+ await driver.push(job);
11
12
  }
12
13
  //# sourceMappingURL=dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAS;IACtC,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAS;IACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;IAC5C,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xacos/queue",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@xacos/config": "workspace:*",
15
- "@xacos/shared": "workspace:*",
14
+ "@xacos/config": "^1.0.1",
15
+ "@xacos/shared": "^1.0.1",
16
16
  "bullmq": "^5.76.8"
17
17
  },
18
18
  "devDependencies": {
@@ -6,14 +6,14 @@ export interface QueueDriver {
6
6
 
7
7
  let _instance: QueueDriver | null = null;
8
8
 
9
- export function resolveQueueDriver(): QueueDriver {
9
+ export async function resolveQueueDriver(): Promise<QueueDriver> {
10
10
  if (_instance) return _instance;
11
11
 
12
12
  const driver = process.env['QUEUE_DRIVER'] ?? 'memory';
13
13
 
14
14
  switch (driver) {
15
15
  case 'redis': {
16
- const { BullMQQueue } = require('./drivers/BullMQQueue') as typeof import('./drivers/BullMQQueue');
16
+ const { BullMQQueue } = await import('./drivers/BullMQQueue');
17
17
  _instance = new BullMQQueue({
18
18
  host: process.env['REDIS_HOST'] ?? 'localhost',
19
19
  port: Number(process.env['REDIS_PORT'] ?? 6379),
@@ -31,7 +31,7 @@ export function resolveQueueDriver(): QueueDriver {
31
31
  }
32
32
 
33
33
  export class QueueManager {
34
- static resolve(): QueueDriver {
34
+ static async resolve(): Promise<QueueDriver> {
35
35
  return resolveQueueDriver();
36
36
  }
37
37
  }
package/src/dispatch.ts CHANGED
@@ -9,6 +9,7 @@ import type { XJob } from './XJob';
9
9
  * await dispatch(new SendWelcomeEmailJob(user.id));
10
10
  */
11
11
  export async function dispatch(job: XJob): Promise<void> {
12
- await QueueManager.resolve().push(job);
12
+ const driver = await QueueManager.resolve();
13
+ await driver.push(job);
13
14
  }
14
15