@monque/tsed 0.1.0 → 1.1.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/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { Configuration, InjectorService, LOGGER, OnDestroy, OnInit, TokenProvider } from "@tsed/di";
2
1
  import { BulkOperationResult, CursorOptions, CursorPage, EnqueueOptions, GetJobsFilter, JobSelector, Monque, MonqueOptions, PersistedJob, QueueStats, ScheduleOptions, WorkerOptions } from "@monque/core";
2
+ import { Configuration, InjectorService, LOGGER, OnDestroy, OnInit, TokenProvider } from "@tsed/di";
3
3
  import { Db, ObjectId } from "mongodb";
4
4
 
5
5
  //#region src/config/types.d.ts
@@ -21,12 +21,12 @@ import { Db, ObjectId } from "mongodb";
21
21
  * export class Server {}
22
22
  * ```
23
23
  */
24
- interface MonqueTsedConfig extends Omit<MonqueOptions, 'db'> {
24
+ interface MonqueTsedConfig extends MonqueOptions {
25
25
  /**
26
26
  * Enable or disable the Monque module.
27
27
  *
28
28
  * When disabled:
29
- * - Workers are not registered
29
+ * - Jobs are not registered
30
30
  * - Lifecycle hooks are no-ops
31
31
  * - MonqueService throws on access
32
32
  *
@@ -104,6 +104,38 @@ interface MonqueTsedConfig extends Omit<MonqueOptions, 'db'> {
104
104
  * @default "default"
105
105
  */
106
106
  mongooseConnectionId?: string;
107
+ /**
108
+ * Disable job processing on this instance.
109
+ *
110
+ * When true, the module will initialize the database connection (allowing you to
111
+ * enqueue jobs via MonqueService) but will NOT register jobs or start the
112
+ * polling loop. Useful for "Producer-only" nodes like API servers that only
113
+ * enqueue jobs but don't process them.
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * // API Server (Producer-only)
118
+ * @Configuration({
119
+ * monque: {
120
+ * dbFactory: async () => client.db('myapp'),
121
+ * disableJobProcessing: true, // Only enqueue, don't process
122
+ * }
123
+ * })
124
+ * export class ApiServer {}
125
+ *
126
+ * // Job Server (Consumer)
127
+ * @Configuration({
128
+ * monque: {
129
+ * dbFactory: async () => client.db('myapp'),
130
+ * // disableJobProcessing defaults to false - processes jobs
131
+ * }
132
+ * })
133
+ * export class JobServer {}
134
+ * ```
135
+ *
136
+ * @default false
137
+ */
138
+ disableJobProcessing?: boolean;
107
139
  }
108
140
  //#endregion
109
141
  //#region src/config/config.d.ts
@@ -141,7 +173,7 @@ declare function validateDatabaseConfig(config: MonqueTsedConfig): void;
141
173
  /**
142
174
  * Symbol used to store decorator metadata on class constructors.
143
175
  *
144
- * Used by @WorkerController, @Worker, and @Cron decorators to attach
176
+ * Used by @JobController, @Job, and @Cron decorators to attach
145
177
  * metadata that is later collected by MonqueModule during initialization.
146
178
  *
147
179
  * @example
@@ -157,13 +189,13 @@ declare const MONQUE: unique symbol;
157
189
  *
158
190
  * These constants are used to categorize providers registered with Ts.ED's
159
191
  * dependency injection container, enabling MonqueModule to discover and
160
- * register workers automatically.
192
+ * register jobs automatically.
161
193
  *
162
194
  * Note: Using string constants with `as const` instead of enums per
163
195
  * Constitution guidelines.
164
196
  */
165
197
  declare const ProviderTypes: {
166
- /** Provider type for @WorkerController decorated classes */readonly WORKER_CONTROLLER: "monque:worker-controller"; /** Provider type for cron job handlers */
198
+ /** Provider type for @JobController decorated classes */readonly JOB_CONTROLLER: "monque:job-controller"; /** Provider type for cron job handlers */
167
199
  readonly CRON: "monque:cron";
168
200
  };
169
201
  /**
@@ -173,18 +205,18 @@ type ProviderType = (typeof ProviderTypes)[keyof typeof ProviderTypes];
173
205
  //#endregion
174
206
  //#region src/decorators/types.d.ts
175
207
  /**
176
- * Options for the @Worker method decorator.
208
+ * Options for the @Job method decorator.
177
209
  *
178
210
  * Maps to @monque/core WorkerOptions. All standard Monque worker options
179
211
  * are exposed here for decorator-based configuration.
180
212
  */
181
- interface WorkerDecoratorOptions extends WorkerOptions {}
213
+ interface JobDecoratorOptions extends WorkerOptions {}
182
214
  /**
183
- * Metadata for a single @Worker decorated method.
215
+ * Metadata for a single @Job decorated method.
184
216
  *
185
- * Stored in the WorkerStore and used by MonqueModule to register workers.
217
+ * Stored in the JobStore and used by MonqueModule to register workers.
186
218
  */
187
- interface WorkerMetadata {
219
+ interface JobMetadata {
188
220
  /**
189
221
  * Job name (without namespace prefix).
190
222
  * Combined with controller namespace to form full job name.
@@ -195,9 +227,9 @@ interface WorkerMetadata {
195
227
  */
196
228
  method: string;
197
229
  /**
198
- * Worker options forwarded to Monque.register().
230
+ * Job options forwarded to Monque.register().
199
231
  */
200
- opts: WorkerDecoratorOptions;
232
+ opts: JobDecoratorOptions;
201
233
  }
202
234
  /**
203
235
  * Options for the @Cron method decorator.
@@ -213,7 +245,7 @@ interface CronDecoratorOptions extends ScheduleOptions {
213
245
  /**
214
246
  * Metadata for a single @Cron decorated method.
215
247
  *
216
- * Stored in the WorkerStore and used by MonqueModule to schedule cron jobs.
248
+ * Stored in the JobStore and used by MonqueModule to schedule cron jobs.
217
249
  */
218
250
  interface CronMetadata {
219
251
  /**
@@ -234,21 +266,21 @@ interface CronMetadata {
234
266
  opts: CronDecoratorOptions;
235
267
  }
236
268
  /**
237
- * Complete metadata structure stored on @WorkerController classes.
269
+ * Complete metadata structure stored on @JobController classes.
238
270
  *
239
271
  * Accessed via `Store.from(Class).get(MONQUE)`.
240
272
  *
241
273
  * @example
242
274
  * ```typescript
243
- * const store = Store.from(EmailWorkers).get<WorkerStore>(MONQUE);
275
+ * const store = Store.from(EmailJobs).get<JobStore>(MONQUE);
244
276
  * console.log(store.namespace); // "email"
245
- * console.log(store.workers); // [{ name: "send", method: "sendEmail", opts: {} }]
277
+ * console.log(store.jobs); // [{ name: "send", method: "sendEmail", opts: {} }]
246
278
  * ```
247
279
  */
248
- interface WorkerStore {
280
+ interface JobStore {
249
281
  /**
250
282
  * Type identifier for the store.
251
- * Always "controller" for WorkerController.
283
+ * Always "controller" for JobController.
252
284
  */
253
285
  type: 'controller';
254
286
  /**
@@ -257,9 +289,9 @@ interface WorkerStore {
257
289
  */
258
290
  namespace?: string;
259
291
  /**
260
- * Worker method registrations from @Worker decorators.
292
+ * Job method registrations from @Job decorators.
261
293
  */
262
- workers: WorkerMetadata[];
294
+ jobs: JobMetadata[];
263
295
  /**
264
296
  * Cron job registrations from @Cron decorators.
265
297
  */
@@ -275,8 +307,8 @@ interface WorkerStore {
275
307
  *
276
308
  * @example
277
309
  * ```typescript
278
- * @WorkerController()
279
- * class ReportWorkers {
310
+ * @JobController()
311
+ * class ReportJobs {
280
312
  * @Cron("@daily", { timezone: "UTC" })
281
313
  * async generateDailyReport() {
282
314
  * // ...
@@ -286,22 +318,22 @@ interface WorkerStore {
286
318
  */
287
319
  declare function Cron(pattern: string, options?: CronDecoratorOptions): MethodDecorator;
288
320
  //#endregion
289
- //#region src/decorators/worker.d.ts
321
+ //#region src/decorators/job.d.ts
290
322
  /**
291
323
  * Method decorator that registers a method as a job handler.
292
324
  *
293
325
  * @param name - The job name (will be prefixed with controller namespace if present)
294
- * @param options - Optional worker configuration (concurrency, replace, etc.)
326
+ * @param options - Optional job configuration (concurrency, replace, etc.)
295
327
  */
296
- declare function Worker(name: string, options?: WorkerDecoratorOptions): MethodDecorator;
328
+ declare function Job(name: string, options?: JobDecoratorOptions): MethodDecorator;
297
329
  //#endregion
298
- //#region src/decorators/worker-controller.d.ts
330
+ //#region src/decorators/job-controller.d.ts
299
331
  /**
300
- * Class decorator that registers a class as a worker controller.
332
+ * Class decorator that registers a class as a job controller.
301
333
  *
302
334
  * @param namespace - Optional namespace prefix for job names
303
335
  */
304
- declare function WorkerController(namespace?: string): ClassDecorator;
336
+ declare function JobController(namespace?: string): ClassDecorator;
305
337
  //#endregion
306
338
  //#region src/services/monque-service.d.ts
307
339
  /**
@@ -451,17 +483,17 @@ declare class MonqueModule implements OnInit, OnDestroy {
451
483
  $onInit(): Promise<void>;
452
484
  $onDestroy(): Promise<void>;
453
485
  /**
454
- * Discover and register all workers from @WorkerController providers
486
+ * Discover and register all jobs from @JobController providers
455
487
  */
456
- protected registerWorkers(): Promise<void>;
488
+ protected registerJobs(): Promise<void>;
457
489
  }
458
490
  //#endregion
459
491
  //#region src/utils/build-job-name.d.ts
460
492
  /**
461
493
  * Build the full job name by combining namespace and name.
462
494
  *
463
- * @param namespace - Optional namespace from @WorkerController
464
- * @param name - Job name from @Worker or @Cron
495
+ * @param namespace - Optional namespace from @JobController
496
+ * @param name - Job name from @Job or @Cron
465
497
  * @returns Full job name (e.g., "email.send" or just "send")
466
498
  *
467
499
  * @example
@@ -473,11 +505,11 @@ declare class MonqueModule implements OnInit, OnDestroy {
473
505
  */
474
506
  declare function buildJobName(namespace: string | undefined, name: string): string;
475
507
  //#endregion
476
- //#region src/utils/collect-worker-metadata.d.ts
508
+ //#region src/utils/collect-job-metadata.d.ts
477
509
  /**
478
- * Collected worker registration info ready for Monque.register()
510
+ * Collected job registration info ready for Monque.register()
479
511
  */
480
- interface CollectedWorkerMetadata {
512
+ interface CollectedJobMetadata {
481
513
  /**
482
514
  * Full job name (with namespace prefix if applicable)
483
515
  */
@@ -487,9 +519,9 @@ interface CollectedWorkerMetadata {
487
519
  */
488
520
  method: string;
489
521
  /**
490
- * Worker options to pass to Monque.register()
522
+ * Job options to pass to Monque.register()
491
523
  */
492
- opts: WorkerDecoratorOptions | CronDecoratorOptions;
524
+ opts: JobDecoratorOptions | CronDecoratorOptions;
493
525
  /**
494
526
  * Whether this is a cron job
495
527
  */
@@ -500,14 +532,14 @@ interface CollectedWorkerMetadata {
500
532
  cronPattern?: string;
501
533
  }
502
534
  /**
503
- * Collect all worker metadata from a class.
535
+ * Collect all job metadata from a class.
504
536
  *
505
- * @param target - The class constructor (decorated with @WorkerController)
506
- * @returns Array of collected worker metadata ready for registration
537
+ * @param target - The class constructor (decorated with @JobController)
538
+ * @returns Array of collected job metadata ready for registration
507
539
  *
508
540
  * @example
509
541
  * ```typescript
510
- * const metadata = collectWorkerMetadata(EmailWorkers);
542
+ * const metadata = collectJobMetadata(EmailJobs);
511
543
  * // Returns:
512
544
  * // [
513
545
  * // { fullName: "email.send", method: "sendEmail", opts: {}, isCron: false },
@@ -515,28 +547,10 @@ interface CollectedWorkerMetadata {
515
547
  * // ]
516
548
  * ```
517
549
  */
518
- declare function collectWorkerMetadata(target: new (...args: unknown[]) => unknown): CollectedWorkerMetadata[];
550
+ declare function collectJobMetadata(target: new (...args: unknown[]) => unknown): CollectedJobMetadata[];
519
551
  //#endregion
520
- //#region src/utils/get-worker-token.d.ts
521
- /**
522
- * Generate a unique token for a worker controller.
523
- *
524
- * Used internally by Ts.ED DI to identify worker controller providers.
525
- * The token is based on the class name for debugging purposes.
526
- *
527
- * @param target - The class constructor
528
- * @returns A Symbol token unique to this worker controller
529
- *
530
- * @example
531
- * ```typescript
532
- * @WorkerController("email")
533
- * class EmailWorkers {}
534
- *
535
- * const token = getWorkerToken(EmailWorkers);
536
- * // Symbol("monque:worker:EmailWorkers")
537
- * ```
538
- */
539
- declare function getWorkerToken(target: new (...args: unknown[]) => unknown): symbol;
552
+ //#region src/utils/get-job-token.d.ts
553
+ declare function getJobToken(target: new (...args: unknown[]) => unknown): symbol;
540
554
  //#endregion
541
555
  //#region src/utils/resolve-database.d.ts
542
556
  /**
@@ -578,5 +592,5 @@ type InjectorFn = <T>(token: TokenProvider<T>) => T | undefined;
578
592
  */
579
593
  declare function resolveDatabase(config: MonqueTsedConfig, injectorFn?: InjectorFn): Promise<Db>;
580
594
  //#endregion
581
- export { type CollectedWorkerMetadata, Cron, type CronDecoratorOptions, type CronMetadata, type InjectorFn, MONQUE, MonqueModule, MonqueService, type MonqueTsedConfig, type ProviderType, ProviderTypes, Worker, WorkerController, type WorkerDecoratorOptions, type WorkerMetadata, type WorkerStore, buildJobName, collectWorkerMetadata, getWorkerToken, resolveDatabase, validateDatabaseConfig };
595
+ export { type CollectedJobMetadata, Cron, type CronDecoratorOptions, type CronMetadata, type InjectorFn, Job, JobController, type JobDecoratorOptions, type JobMetadata, type JobStore, MONQUE, MonqueModule, MonqueService, type MonqueTsedConfig, type ProviderType, ProviderTypes, buildJobName, collectJobMetadata, getJobToken, resolveDatabase, validateDatabaseConfig };
582
596
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/config/types.ts","../src/config/config.ts","../src/constants/constants.ts","../src/constants/types.ts","../src/decorators/types.ts","../src/decorators/cron.ts","../src/decorators/worker.ts","../src/decorators/worker-controller.ts","../src/services/monque-service.ts","../src/monque-module.ts","../src/utils/build-job-name.ts","../src/utils/collect-worker-metadata.ts","../src/utils/get-worker-token.ts","../src/utils/resolve-database.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/config/types.ts","../src/config/config.ts","../src/constants/constants.ts","../src/constants/types.ts","../src/decorators/types.ts","../src/decorators/cron.ts","../src/decorators/job.ts","../src/decorators/job-controller.ts","../src/services/monque-service.ts","../src/monque-module.ts","../src/utils/build-job-name.ts","../src/utils/collect-job-metadata.ts","../src/utils/get-job-token.ts","../src/utils/resolve-database.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;UA0BiB,gBAAA,SAAyB,aAAA;EA6EzC;;;;;;;;;;EAlEA,OAAA;EC7BkD;;;;;;;;;;;AAuCnD;;;;EDOC,EAAA,GAAK,EAAA;;;;AE3CN;;;;;;;;ACDA;;;;;AAUA;;EHsDC,SAAA,SAAkB,OAAA,CAAQ,EAAA,IAAM,EAAA;EGtDE;;;;;ACJnC;;;;;AAWA;;;;;;;;;;AA2BA;;;;;AAgBA;;EJiCC,OAAA,GAAU,aAAA,CAAc,EAAA;EIdE;;;;;;;EJuB1B,oBAAA;EIJgB;;;;;;;;;;;;;;;ACtFjB;;;;;;;;;;;;;ACUA;;;ENiHC,oBAAA;AAAA;;;;;;;;QC9HO,MAAA;EAAA,UACG,IAAA;IAAA,UACC,aAAA;MDK8B;;;MCDvC,MAAA,GAAS,gBAAA;IAAA;EAAA;AAAA;;;;;;;;;;;;;;iBAsBI,sBAAA,CAAuB,MAAA,EAAQ,gBAAA;;;;;;;;ADrB/C;;;;;;cEfa,MAAA;;;;;;;;AFeb;;;;;cGhBa,aAAA;EHgEoB,kEG3DvB,cAAA,2BHwFC;EAAA,SGxFD,IAAA;AAAA;;;;KAKE,YAAA,WAAuB,aAAA,eAA4B,aAAA;;;;AHM/D;;;;;UIViB,mBAAA,SAA4B,aAAA;;;;;;UAW5B,WAAA;EJUhB;;;;EILA,IAAA;EJ0C0B;;;EIrC1B,MAAA;EJkEwB;;;EI7DxB,IAAA,EAAM,mBAAA;AAAA;;;;AHlC4C;;UG8ClC,oBAAA,SAA6B,eAAA;EH7BlB;;;EGiC3B,IAAA;AAAA;;;;;AHXD;UGuBiB,YAAA;;;;EAIhB,OAAA;;;AF/DD;EEoEC,IAAA;;;;EAKA,MAAA;;;AD1ED;EC+EC,IAAA,EAAM,oBAAA;AAAA;;;ADrEP;;;;;;;;ACJA;;UA4FiB,QAAA;EA5F4B;;AAW7C;;EAsFC,IAAA;EAvEyB;;;;EA6EzB,SAAA;EA7EyB;;AAY1B;EAsEC,IAAA,EAAM,WAAA;;;;EAKN,QAAA,EAAU,YAAA;AAAA;;;;;;;AJvGX;;;;;;;;;;;;;iBKJgB,IAAA,CAAK,OAAA,UAAiB,OAAA,GAAU,oBAAA,GAAuB,eAAA;;;;;;;ALIvE;;iBMMgB,GAAA,CAAI,IAAA,UAAc,OAAA,GAAU,mBAAA,GAAsB,eAAA;;;;;;;;iBCFlD,aAAA,CAAc,SAAA,YAAqB,cAAA;;;;;;;;cCctC,aAAA;ERqGZ;;;;EAAA,QQhGQ,OAAA;;APzC0C;;;;EOgDlD,UAAA,CAAW,MAAA,EAAQ,MAAA;EPpCT;;;;EAAA,IO4CN,MAAA,CAAA,GAAU,MAAA;EPvCa;;AAsB5B;;;;;;EOuCO,OAAA,GAAA,CAAW,IAAA,UAAc,IAAA,EAAM,CAAA,EAAG,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,YAAA,CAAa,CAAA;;AN3EzF;;;;;;EMsFO,GAAA,GAAA,CAAO,IAAA,UAAc,IAAA,EAAM,CAAA,GAAI,OAAA,CAAQ,YAAA,CAAa,CAAA;;ALvF3D;;;;;AAUA;;;EK0FO,QAAA,GAAA,CACL,IAAA,UACA,IAAA,UACA,IAAA,EAAM,CAAA,EACN,OAAA,GAAU,eAAA,GACR,OAAA,CAAQ,YAAA,CAAa,CAAA;EL/FmD;;;;ACJ5E;;EIiHO,SAAA,CAAU,KAAA,WAAgB,OAAA,CAAQ,YAAA;EJjHI;;AAW7C;;;;EIgHO,QAAA,CAAS,KAAA,WAAgB,OAAA,CAAQ,YAAA;EJtGvC;;;;;AAiBD;;EIgGO,aAAA,CAAc,KAAA,UAAe,KAAA,EAAO,IAAA,GAAO,OAAA,CAAQ,YAAA;EJhGZ;;AAgB9C;;;;EI0FO,SAAA,CAAU,KAAA,WAAgB,OAAA;EJjFhC;;;;;;EI+FM,UAAA,CAAW,MAAA,EAAQ,WAAA,GAAc,OAAA,CAAQ,mBAAA;EJlEvB;;;;;;EI4ElB,SAAA,CAAU,MAAA,EAAQ,WAAA,GAAc,OAAA,CAAQ,mBAAA;EJvD9C;;;;;;EIiEM,UAAA,CAAW,MAAA,EAAQ,WAAA,GAAc,OAAA,CAAQ,mBAAA;EH5KhC;;;;;;;EG2LT,MAAA,GAAA,CAAU,KAAA,WAAgB,QAAA,GAAW,OAAA,CAAQ,YAAA,CAAa,CAAA;EH3LqB;;;;;ACUtF;EEsMO,OAAA,GAAA,CAAW,MAAA,GAAS,aAAA,GAAgB,OAAA,CAAQ,YAAA,CAAa,CAAA;;;;;;;EAUzD,iBAAA,GAAA,CAAqB,OAAA,GAAU,aAAA,GAAgB,OAAA,CAAQ,UAAA,CAAW,CAAA;EFhNQ;;;;ACFjF;;EC4NO,aAAA,CAAc,MAAA,GAAS,IAAA,CAAK,WAAA,YAAuB,OAAA,CAAQ,UAAA;ED5NpC;;;;;ECyO7B,SAAA,CAAA;AAAA;;;cCjOY,YAAA,YAAwB,MAAA,EAAQ,SAAA;EAAA,UAClC,QAAA,EAAU,eAAA;EAAA,UACV,aAAA,EAAe,aAAA;EAAA,UACf,MAAA,EAAQ,MAAA;EAAA,UACR,YAAA,EAAc,gBAAA;EAAA,UAEd,MAAA,EAAQ,MAAA;cAGQ,QAAA,EAAU,eAAA,EACZ,aAAA,EAAe,aAAA,EACtB,MAAA,EAAQ,MAAA,EACD,aAAA,EAAe,aAAA;EAQjC,OAAA,CAAA,GAAW,OAAA;EA4CX,UAAA,CAAA,GAAc,OAAA;EThDpB;;;EAAA,US6DgB,YAAA,CAAA,GAAgB,OAAA;AAAA;;;;;;;;ATzFjC;;;;;;;;;iBUZgB,YAAA,CAAa,SAAA,sBAA+B,IAAA;;;;;;UCE3C,oBAAA;EXUA;;;EWNhB,QAAA;EXsD0B;;;EWjD1B,MAAA;EX8EU;;;EWzEV,IAAA,EAAM,mBAAA,GAAsB,oBAAA;EXJa;;;EWSzC,MAAA;EXuCA;;;EWlCA,WAAA;AAAA;;;;;;;;;;AVhCkD;;;;;;;iBUmDnC,kBAAA,CACf,MAAA,UAAgB,IAAA,0BACd,oBAAA;;;iBCzCa,WAAA,CAAY,MAAA,UAAgB,IAAA;;;;;;KCHhC,UAAA,OAAiB,KAAA,EAAO,aAAA,CAAc,CAAA,MAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AZTN;;;;;;;;;;iBY4C7B,eAAA,CACrB,MAAA,EAAQ,gBAAA,EACR,UAAA,GAAa,UAAA,GACX,OAAA,CAAQ,EAAA"}