@monque/core 1.6.0 → 1.7.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.cts CHANGED
@@ -888,6 +888,14 @@ declare class Monque extends EventEmitter {
888
888
  private workers;
889
889
  private isRunning;
890
890
  private isInitialized;
891
+ /**
892
+ * Resolve function for the reactive shutdown drain promise.
893
+ * Set during stop() when active jobs need to finish; called by
894
+ * onJobFinished() when the last active job completes.
895
+ *
896
+ * @private
897
+ */
898
+ private _drainResolve;
891
899
  private _scheduler;
892
900
  private _manager;
893
901
  private _query;
@@ -914,6 +922,7 @@ declare class Monque extends EventEmitter {
914
922
  private get changeStreamHandler();
915
923
  /** @throws {ConnectionError} if not initialized */
916
924
  private get lifecycleManager();
925
+ private validateSchedulingIdentifiers;
917
926
  /**
918
927
  * Handle a change-stream-triggered poll and reset the safety poll timer.
919
928
  *
@@ -972,6 +981,7 @@ declare class Monque extends EventEmitter {
972
981
  * @param data - Job payload, will be passed to the worker handler
973
982
  * @param options - Scheduling and deduplication options
974
983
  * @returns Promise resolving to the created or existing job document
984
+ * @throws {InvalidJobIdentifierError} If `name` or `uniqueKey` fails public identifier validation
975
985
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
976
986
  * @throws {PayloadTooLargeError} If payload exceeds configured `maxPayloadSize`
977
987
  *
@@ -1013,6 +1023,7 @@ declare class Monque extends EventEmitter {
1013
1023
  * @param name - Job type identifier, must match a registered worker
1014
1024
  * @param data - Job payload, will be passed to the worker handler
1015
1025
  * @returns Promise resolving to the created job document
1026
+ * @throws {InvalidJobIdentifierError} If `name` fails public identifier validation
1016
1027
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
1017
1028
  *
1018
1029
  * @example Send email immediately
@@ -1052,6 +1063,7 @@ declare class Monque extends EventEmitter {
1052
1063
  * @param data - Job payload, will be passed to the worker handler on each run
1053
1064
  * @param options - Scheduling options (uniqueKey for deduplication)
1054
1065
  * @returns Promise resolving to the created job document with `repeatInterval` set
1066
+ * @throws {InvalidJobIdentifierError} If `name` or `uniqueKey` fails public identifier validation
1055
1067
  * @throws {InvalidCronError} If cron expression is invalid
1056
1068
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
1057
1069
  * @throws {PayloadTooLargeError} If payload exceeds configured `maxPayloadSize`
@@ -1392,6 +1404,7 @@ declare class Monque extends EventEmitter {
1392
1404
  * @param options - Worker configuration
1393
1405
  * @param options.concurrency - Maximum concurrent jobs for this worker (default: `defaultConcurrency`)
1394
1406
  * @param options.replace - When `true`, replace existing worker instead of throwing error
1407
+ * @throws {InvalidJobIdentifierError} If `name` fails public identifier validation
1395
1408
  * @throws {WorkerRegistrationError} When a worker is already registered for `name` and `replace` is not `true`
1396
1409
  *
1397
1410
  * @example Basic email worker
@@ -1560,6 +1573,13 @@ declare class Monque extends EventEmitter {
1560
1573
  * ```
1561
1574
  */
1562
1575
  isHealthy(): boolean;
1576
+ /**
1577
+ * Called when a job finishes processing. If a shutdown drain is pending
1578
+ * and no active jobs remain, resolves the drain promise.
1579
+ *
1580
+ * @private
1581
+ */
1582
+ private onJobFinished;
1563
1583
  /**
1564
1584
  * Ensure the scheduler is initialized before operations.
1565
1585
  *
@@ -1568,12 +1588,15 @@ declare class Monque extends EventEmitter {
1568
1588
  */
1569
1589
  private ensureInitialized;
1570
1590
  /**
1571
- * Get array of active job IDs across all workers.
1591
+ * Get total count of active jobs across all workers.
1592
+ *
1593
+ * Returns only the count (O(workers)) instead of allocating
1594
+ * a throw-away array of IDs, since callers only need `.length`.
1572
1595
  *
1573
1596
  * @private
1574
- * @returns Array of job ID strings currently being processed
1597
+ * @returns Number of jobs currently being processed
1575
1598
  */
1576
- private getActiveJobs;
1599
+ private getActiveJobCount;
1577
1600
  /**
1578
1601
  * Get list of active job documents (for shutdown timeout error).
1579
1602
  *
@@ -1724,6 +1747,25 @@ declare class JobStateError extends MonqueError {
1724
1747
  declare class InvalidCursorError extends MonqueError {
1725
1748
  constructor(message: string);
1726
1749
  }
1750
+ /**
1751
+ * Error thrown when a public job identifier fails validation.
1752
+ *
1753
+ * @example
1754
+ * ```typescript
1755
+ * try {
1756
+ * await monque.enqueue('invalid job name', {});
1757
+ * } catch (error) {
1758
+ * if (error instanceof InvalidJobIdentifierError) {
1759
+ * console.error(`Invalid ${error.field}: ${error.message}`);
1760
+ * }
1761
+ * }
1762
+ * ```
1763
+ */
1764
+ declare class InvalidJobIdentifierError extends MonqueError {
1765
+ readonly field: 'name' | 'uniqueKey';
1766
+ readonly value: string;
1767
+ constructor(field: 'name' | 'uniqueKey', value: string, message: string);
1768
+ }
1727
1769
  /**
1728
1770
  * Error thrown when a statistics aggregation times out.
1729
1771
  *
@@ -1851,5 +1893,21 @@ declare function getNextCronDate(expression: string, currentDate?: Date): Date;
1851
1893
  */
1852
1894
  declare function validateCronExpression(expression: string): void;
1853
1895
  //#endregion
1854
- export { AggregationTimeoutError, type BulkOperationResult, ConnectionError, CursorDirection, type CursorOptions, type CursorPage, DEFAULT_BASE_INTERVAL, DEFAULT_MAX_BACKOFF_DELAY, type EnqueueOptions, type GetJobsFilter, InvalidCronError, InvalidCursorError, type Job, type JobHandler, type JobSelector, JobStateError, JobStatus, type JobStatusType, Monque, MonqueError, type MonqueEventMap, type MonqueOptions, PayloadTooLargeError, type PersistedJob, type QueueStats, type ScheduleOptions, ShutdownTimeoutError, type WorkerOptions, WorkerRegistrationError, calculateBackoff, calculateBackoffDelay, getNextCronDate, isCancelledJob, isCompletedJob, isFailedJob, isPendingJob, isPersistedJob, isProcessingJob, isRecurringJob, isValidJobStatus, validateCronExpression };
1896
+ //#region src/shared/utils/job-identifiers.d.ts
1897
+ /**
1898
+ * Validate a public job name before it is registered or scheduled.
1899
+ *
1900
+ * @param name - The job name to validate
1901
+ * @throws {InvalidJobIdentifierError} If the job name is empty, too long, or contains unsupported characters
1902
+ */
1903
+ declare function validateJobName(name: string): void;
1904
+ /**
1905
+ * Validate a deduplication key before it is stored or used in a unique query.
1906
+ *
1907
+ * @param uniqueKey - The unique key to validate
1908
+ * @throws {InvalidJobIdentifierError} If the key is empty, too long, or contains control characters
1909
+ */
1910
+ declare function validateUniqueKey(uniqueKey: string): void;
1911
+ //#endregion
1912
+ export { AggregationTimeoutError, type BulkOperationResult, ConnectionError, CursorDirection, type CursorOptions, type CursorPage, DEFAULT_BASE_INTERVAL, DEFAULT_MAX_BACKOFF_DELAY, type EnqueueOptions, type GetJobsFilter, InvalidCronError, InvalidCursorError, InvalidJobIdentifierError, type Job, type JobHandler, type JobSelector, JobStateError, JobStatus, type JobStatusType, Monque, MonqueError, type MonqueEventMap, type MonqueOptions, PayloadTooLargeError, type PersistedJob, type QueueStats, type ScheduleOptions, ShutdownTimeoutError, type WorkerOptions, WorkerRegistrationError, calculateBackoff, calculateBackoffDelay, getNextCronDate, isCancelledJob, isCompletedJob, isFailedJob, isPendingJob, isPersistedJob, isProcessingJob, isRecurringJob, isValidJobStatus, validateCronExpression, validateJobName, validateUniqueKey };
1855
1913
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts","../src/shared/utils/job-identifiers.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -888,6 +888,14 @@ declare class Monque extends EventEmitter {
888
888
  private workers;
889
889
  private isRunning;
890
890
  private isInitialized;
891
+ /**
892
+ * Resolve function for the reactive shutdown drain promise.
893
+ * Set during stop() when active jobs need to finish; called by
894
+ * onJobFinished() when the last active job completes.
895
+ *
896
+ * @private
897
+ */
898
+ private _drainResolve;
891
899
  private _scheduler;
892
900
  private _manager;
893
901
  private _query;
@@ -914,6 +922,7 @@ declare class Monque extends EventEmitter {
914
922
  private get changeStreamHandler();
915
923
  /** @throws {ConnectionError} if not initialized */
916
924
  private get lifecycleManager();
925
+ private validateSchedulingIdentifiers;
917
926
  /**
918
927
  * Handle a change-stream-triggered poll and reset the safety poll timer.
919
928
  *
@@ -972,6 +981,7 @@ declare class Monque extends EventEmitter {
972
981
  * @param data - Job payload, will be passed to the worker handler
973
982
  * @param options - Scheduling and deduplication options
974
983
  * @returns Promise resolving to the created or existing job document
984
+ * @throws {InvalidJobIdentifierError} If `name` or `uniqueKey` fails public identifier validation
975
985
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
976
986
  * @throws {PayloadTooLargeError} If payload exceeds configured `maxPayloadSize`
977
987
  *
@@ -1013,6 +1023,7 @@ declare class Monque extends EventEmitter {
1013
1023
  * @param name - Job type identifier, must match a registered worker
1014
1024
  * @param data - Job payload, will be passed to the worker handler
1015
1025
  * @returns Promise resolving to the created job document
1026
+ * @throws {InvalidJobIdentifierError} If `name` fails public identifier validation
1016
1027
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
1017
1028
  *
1018
1029
  * @example Send email immediately
@@ -1052,6 +1063,7 @@ declare class Monque extends EventEmitter {
1052
1063
  * @param data - Job payload, will be passed to the worker handler on each run
1053
1064
  * @param options - Scheduling options (uniqueKey for deduplication)
1054
1065
  * @returns Promise resolving to the created job document with `repeatInterval` set
1066
+ * @throws {InvalidJobIdentifierError} If `name` or `uniqueKey` fails public identifier validation
1055
1067
  * @throws {InvalidCronError} If cron expression is invalid
1056
1068
  * @throws {ConnectionError} If database operation fails or scheduler not initialized
1057
1069
  * @throws {PayloadTooLargeError} If payload exceeds configured `maxPayloadSize`
@@ -1392,6 +1404,7 @@ declare class Monque extends EventEmitter {
1392
1404
  * @param options - Worker configuration
1393
1405
  * @param options.concurrency - Maximum concurrent jobs for this worker (default: `defaultConcurrency`)
1394
1406
  * @param options.replace - When `true`, replace existing worker instead of throwing error
1407
+ * @throws {InvalidJobIdentifierError} If `name` fails public identifier validation
1395
1408
  * @throws {WorkerRegistrationError} When a worker is already registered for `name` and `replace` is not `true`
1396
1409
  *
1397
1410
  * @example Basic email worker
@@ -1560,6 +1573,13 @@ declare class Monque extends EventEmitter {
1560
1573
  * ```
1561
1574
  */
1562
1575
  isHealthy(): boolean;
1576
+ /**
1577
+ * Called when a job finishes processing. If a shutdown drain is pending
1578
+ * and no active jobs remain, resolves the drain promise.
1579
+ *
1580
+ * @private
1581
+ */
1582
+ private onJobFinished;
1563
1583
  /**
1564
1584
  * Ensure the scheduler is initialized before operations.
1565
1585
  *
@@ -1568,12 +1588,15 @@ declare class Monque extends EventEmitter {
1568
1588
  */
1569
1589
  private ensureInitialized;
1570
1590
  /**
1571
- * Get array of active job IDs across all workers.
1591
+ * Get total count of active jobs across all workers.
1592
+ *
1593
+ * Returns only the count (O(workers)) instead of allocating
1594
+ * a throw-away array of IDs, since callers only need `.length`.
1572
1595
  *
1573
1596
  * @private
1574
- * @returns Array of job ID strings currently being processed
1597
+ * @returns Number of jobs currently being processed
1575
1598
  */
1576
- private getActiveJobs;
1599
+ private getActiveJobCount;
1577
1600
  /**
1578
1601
  * Get list of active job documents (for shutdown timeout error).
1579
1602
  *
@@ -1724,6 +1747,25 @@ declare class JobStateError extends MonqueError {
1724
1747
  declare class InvalidCursorError extends MonqueError {
1725
1748
  constructor(message: string);
1726
1749
  }
1750
+ /**
1751
+ * Error thrown when a public job identifier fails validation.
1752
+ *
1753
+ * @example
1754
+ * ```typescript
1755
+ * try {
1756
+ * await monque.enqueue('invalid job name', {});
1757
+ * } catch (error) {
1758
+ * if (error instanceof InvalidJobIdentifierError) {
1759
+ * console.error(`Invalid ${error.field}: ${error.message}`);
1760
+ * }
1761
+ * }
1762
+ * ```
1763
+ */
1764
+ declare class InvalidJobIdentifierError extends MonqueError {
1765
+ readonly field: 'name' | 'uniqueKey';
1766
+ readonly value: string;
1767
+ constructor(field: 'name' | 'uniqueKey', value: string, message: string);
1768
+ }
1727
1769
  /**
1728
1770
  * Error thrown when a statistics aggregation times out.
1729
1771
  *
@@ -1851,5 +1893,21 @@ declare function getNextCronDate(expression: string, currentDate?: Date): Date;
1851
1893
  */
1852
1894
  declare function validateCronExpression(expression: string): void;
1853
1895
  //#endregion
1854
- export { AggregationTimeoutError, type BulkOperationResult, ConnectionError, CursorDirection, type CursorOptions, type CursorPage, DEFAULT_BASE_INTERVAL, DEFAULT_MAX_BACKOFF_DELAY, type EnqueueOptions, type GetJobsFilter, InvalidCronError, InvalidCursorError, type Job, type JobHandler, type JobSelector, JobStateError, JobStatus, type JobStatusType, Monque, MonqueError, type MonqueEventMap, type MonqueOptions, PayloadTooLargeError, type PersistedJob, type QueueStats, type ScheduleOptions, ShutdownTimeoutError, type WorkerOptions, WorkerRegistrationError, calculateBackoff, calculateBackoffDelay, getNextCronDate, isCancelledJob, isCompletedJob, isFailedJob, isPendingJob, isPersistedJob, isProcessingJob, isRecurringJob, isValidJobStatus, validateCronExpression };
1896
+ //#region src/shared/utils/job-identifiers.d.ts
1897
+ /**
1898
+ * Validate a public job name before it is registered or scheduled.
1899
+ *
1900
+ * @param name - The job name to validate
1901
+ * @throws {InvalidJobIdentifierError} If the job name is empty, too long, or contains unsupported characters
1902
+ */
1903
+ declare function validateJobName(name: string): void;
1904
+ /**
1905
+ * Validate a deduplication key before it is stored or used in a unique query.
1906
+ *
1907
+ * @param uniqueKey - The unique key to validate
1908
+ * @throws {InvalidJobIdentifierError} If the key is empty, too long, or contains control characters
1909
+ */
1910
+ declare function validateUniqueKey(uniqueKey: string): void;
1911
+ //#endregion
1912
+ export { AggregationTimeoutError, type BulkOperationResult, ConnectionError, CursorDirection, type CursorOptions, type CursorPage, DEFAULT_BASE_INTERVAL, DEFAULT_MAX_BACKOFF_DELAY, type EnqueueOptions, type GetJobsFilter, InvalidCronError, InvalidCursorError, InvalidJobIdentifierError, type Job, type JobHandler, type JobSelector, JobStateError, JobStatus, type JobStatusType, Monque, MonqueError, type MonqueEventMap, type MonqueOptions, PayloadTooLargeError, type PersistedJob, type QueueStats, type ScheduleOptions, ShutdownTimeoutError, type WorkerOptions, WorkerRegistrationError, calculateBackoff, calculateBackoffDelay, getNextCronDate, isCancelledJob, isCompletedJob, isFailedJob, isPendingJob, isPersistedJob, isProcessingJob, isRecurringJob, isValidJobStatus, validateCronExpression, validateJobName, validateUniqueKey };
1855
1913
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/jobs/types.ts","../src/jobs/guards.ts","../src/events/types.ts","../src/workers/types.ts","../src/scheduler/types.ts","../src/scheduler/monque.ts","../src/shared/errors.ts","../src/shared/utils/backoff.ts","../src/shared/utils/cron.ts","../src/shared/utils/job-identifiers.ts"],"mappings":"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"}