agenda 6.0.0 → 6.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/README.md CHANGED
@@ -281,6 +281,17 @@ await agenda.stop();
281
281
 
282
282
  // Drain - waits for running jobs to complete before stopping
283
283
  await agenda.drain();
284
+
285
+ // Drain with timeout (30 seconds) - for cloud platforms with shutdown deadlines
286
+ const result = await agenda.drain(30000);
287
+ if (result.timedOut) {
288
+ console.log(`${result.running} jobs still running after timeout`);
289
+ }
290
+
291
+ // Drain with AbortSignal - for external control
292
+ const controller = new AbortController();
293
+ setTimeout(() => controller.abort(), 30000);
294
+ await agenda.drain({ signal: controller.signal });
284
295
  ```
285
296
 
286
297
  Use `drain()` for graceful shutdowns where you want in-progress jobs to finish their work.
package/dist/Job.js CHANGED
@@ -370,6 +370,12 @@ export class Job {
370
370
  await this.agenda.db.saveJobState(this.attrs, {
371
371
  lastModifiedBy: this.agenda.attrs.name || undefined
372
372
  });
373
+ // Publish progress state notification if progress was provided (fire-and-forget)
374
+ if (progress !== undefined) {
375
+ this.agenda.publishJobStateNotification(this, 'progress', {
376
+ progress
377
+ });
378
+ }
373
379
  }
374
380
  computeNextRunAt() {
375
381
  try {
@@ -443,6 +449,12 @@ export class Job {
443
449
  nextRunAt,
444
450
  error
445
451
  });
452
+ // Publish retry state notification for cross-process event propagation (fire-and-forget)
453
+ this.agenda.publishJobStateNotification(this, 'retry', {
454
+ retryAt: nextRunAt,
455
+ retryAttempt: this.attrs.failCount,
456
+ error: error.message
457
+ });
446
458
  }
447
459
  async run() {
448
460
  this.attrs.lastRunAt = new Date();
@@ -451,10 +463,15 @@ export class Job {
451
463
  await this.agenda.db.saveJobState(this.attrs, {
452
464
  lastModifiedBy: this.agenda.attrs.name || undefined
453
465
  });
466
+ let succeeded = false;
454
467
  try {
455
468
  this.agenda.emit('start', this);
456
469
  this.agenda.emit(`start:${this.attrs.name}`, this);
457
470
  log('[%s:%s] starting job', this.attrs.name, this.attrs._id);
471
+ // Publish start state notification for cross-process event propagation (fire-and-forget)
472
+ this.agenda.publishJobStateNotification(this, 'start', {
473
+ lastRunAt: this.attrs.lastRunAt
474
+ });
458
475
  if (this.attrs.fork) {
459
476
  if (!this.agenda.forkHelper) {
460
477
  throw new Error('no forkHelper specified, you need to set a path to a helper script');
@@ -501,6 +518,13 @@ export class Job {
501
518
  this.agenda.emit('success', this);
502
519
  this.agenda.emit(`success:${this.attrs.name}`, this);
503
520
  log('[%s:%s] has succeeded', this.attrs.name, this.attrs._id);
521
+ succeeded = true;
522
+ // Publish success state notification for cross-process event propagation (fire-and-forget)
523
+ this.agenda.publishJobStateNotification(this, 'success', {
524
+ lastRunAt: this.attrs.lastRunAt,
525
+ lastFinishedAt: this.attrs.lastFinishedAt,
526
+ duration: this.attrs.lastFinishedAt.getTime() - (this.attrs.lastRunAt?.getTime() || 0)
527
+ });
504
528
  }
505
529
  catch (error) {
506
530
  log('[%s:%s] unknown error occurred', this.attrs.name, this.attrs._id);
@@ -508,6 +532,11 @@ export class Job {
508
532
  this.agenda.emit('fail', error, this);
509
533
  this.agenda.emit(`fail:${this.attrs.name}`, error, this);
510
534
  log('[%s:%s] has failed [%s]', this.attrs.name, this.attrs._id, error.message);
535
+ // Publish fail state notification for cross-process event propagation (fire-and-forget)
536
+ this.agenda.publishJobStateNotification(this, 'fail', {
537
+ error: error.message,
538
+ failCount: this.attrs.failCount
539
+ });
511
540
  // Handle automatic retry with backoff strategy
512
541
  await this.handleRetry(error);
513
542
  }
@@ -528,6 +557,29 @@ export class Job {
528
557
  this.agenda.emit('complete', this);
529
558
  this.agenda.emit(`complete:${this.attrs.name}`, this);
530
559
  log('[%s:%s] job finished at [%s] and was unlocked', this.attrs.name, this.attrs._id, this.attrs.lastFinishedAt);
560
+ // Publish complete state notification for cross-process event propagation (fire-and-forget)
561
+ const duration = this.attrs.lastFinishedAt && this.attrs.lastRunAt
562
+ ? this.attrs.lastFinishedAt.getTime() - this.attrs.lastRunAt.getTime()
563
+ : undefined;
564
+ this.agenda.publishJobStateNotification(this, 'complete', {
565
+ lastRunAt: this.attrs.lastRunAt,
566
+ lastFinishedAt: this.attrs.lastFinishedAt,
567
+ duration
568
+ });
569
+ // Auto-remove completed one-time jobs
570
+ if (succeeded && !this.attrs.nextRunAt) {
571
+ const definition = this.agenda.definitions[this.attrs.name];
572
+ const shouldRemove = definition?.removeOnComplete ?? this.agenda.attrs.removeOnComplete;
573
+ if (shouldRemove) {
574
+ try {
575
+ await this.remove();
576
+ log('[%s:%s] auto-removed completed one-time job', this.attrs.name, this.attrs._id);
577
+ }
578
+ catch (err) {
579
+ log('[%s:%s] failed to auto-remove job', this.attrs.name, this.attrs._id, err);
580
+ }
581
+ }
582
+ }
531
583
  }
532
584
  }
533
585
  async runJob() {
package/dist/Job.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Job.js","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Job.js","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { AgendaStatus } from './types/AgendaStatus.js';
2
2
  import type { Agenda, JobWithId } from './index.js';
3
3
  import type { NotificationChannel } from './types/NotificationChannel.js';
4
+ import type { DrainOptions, DrainResult } from './types/DrainOptions.js';
4
5
  /**
5
6
  * @class
6
7
  * Process methods for jobs
@@ -27,9 +28,10 @@ export declare class JobProcessor {
27
28
  /**
28
29
  * Waits for all currently running jobs to finish, then stops the processor.
29
30
  * Unlike stop(), this method does not immediately return - it waits for graceful completion.
30
- * @returns Promise that resolves when all running jobs have completed
31
+ * @param options - Optional timeout or AbortSignal, or timeout number directly
32
+ * @returns Promise that resolves with drain result when complete, timed out, or aborted
31
33
  */
32
- drain(): Promise<void>;
34
+ drain(options?: number | DrainOptions): Promise<DrainResult>;
33
35
  /**
34
36
  * Handle incoming job notification - triggers immediate processing
35
37
  */
@@ -111,10 +111,13 @@ export class JobProcessor {
111
111
  /**
112
112
  * Waits for all currently running jobs to finish, then stops the processor.
113
113
  * Unlike stop(), this method does not immediately return - it waits for graceful completion.
114
- * @returns Promise that resolves when all running jobs have completed
114
+ * @param options - Optional timeout or AbortSignal, or timeout number directly
115
+ * @returns Promise that resolves with drain result when complete, timed out, or aborted
115
116
  */
116
- async drain() {
117
+ async drain(options) {
117
118
  log.extend('drain')('drain called, clearing interval for processJobs()');
119
+ // Normalize options
120
+ const opts = typeof options === 'number' ? { timeout: options } : options ?? {};
118
121
  // Stop accepting new jobs
119
122
  if (this.processInterval) {
120
123
  clearInterval(this.processInterval);
@@ -126,28 +129,68 @@ export class JobProcessor {
126
129
  this.notificationUnsubscribe();
127
130
  this.notificationUnsubscribe = undefined;
128
131
  }
132
+ const initialRunning = this.runningJobs.length;
129
133
  // If no jobs are running, resolve immediately
130
- if (this.runningJobs.length === 0) {
134
+ if (initialRunning === 0) {
131
135
  log.extend('drain')('no running jobs, resolving immediately');
132
136
  this.isRunning = false;
133
- return;
137
+ return { completed: 0, running: 0, timedOut: false, aborted: false };
138
+ }
139
+ // Check if already aborted
140
+ if (opts.signal?.aborted) {
141
+ log.extend('drain')('signal already aborted, resolving immediately');
142
+ this.isRunning = false;
143
+ return { completed: 0, running: initialRunning, timedOut: false, aborted: true };
134
144
  }
135
- log.extend('drain')('waiting for %d running jobs to finish', this.runningJobs.length);
136
- // Wait for all running jobs to complete
145
+ log.extend('drain')('waiting for %d running jobs to finish', initialRunning);
146
+ // Wait for all running jobs to complete (or timeout/abort)
137
147
  return new Promise(resolve => {
148
+ let completed = 0;
149
+ let timeoutId;
150
+ const cleanup = () => {
151
+ this.agenda.off('complete', completeListener);
152
+ if (timeoutId) {
153
+ clearTimeout(timeoutId);
154
+ }
155
+ if (opts.signal) {
156
+ opts.signal.removeEventListener('abort', abortListener);
157
+ }
158
+ };
159
+ const finish = (result) => {
160
+ cleanup();
161
+ this.isRunning = false;
162
+ resolve(result);
163
+ };
138
164
  const checkComplete = () => {
139
165
  if (this.runningJobs.length === 0) {
140
166
  log.extend('drain')('all jobs completed, resolving');
141
- this.isRunning = false;
142
- resolve();
167
+ finish({ completed, running: 0, timedOut: false, aborted: false });
143
168
  }
144
169
  };
145
170
  // Listen for 'complete' events from the agenda
146
171
  const completeListener = () => {
172
+ completed++;
147
173
  // Running jobs are removed after the event is emitted,
148
174
  // so we check on next tick
149
175
  setImmediate(checkComplete);
150
176
  };
177
+ // Handle timeout
178
+ if (opts.timeout !== undefined) {
179
+ timeoutId = setTimeout(() => {
180
+ const running = this.runningJobs.length;
181
+ log.extend('drain')('timeout reached, %d jobs still running', running);
182
+ finish({ completed, running, timedOut: true, aborted: false });
183
+ }, opts.timeout);
184
+ }
185
+ // Handle abort signal
186
+ const abortListener = () => {
187
+ const running = this.runningJobs.length;
188
+ log.extend('drain')('abort signal received, %d jobs still running', running);
189
+ finish({ completed, running, timedOut: false, aborted: true });
190
+ };
191
+ if (opts.signal) {
192
+ opts.signal.addEventListener('abort', abortListener);
193
+ }
151
194
  this.agenda.on('complete', completeListener);
152
195
  // Also check immediately in case jobs finished between our check and listener setup
153
196
  checkComplete();
@@ -1 +1 @@
1
- {"version":3,"file":"JobProcessor.js","sourceRoot":"","sources":["../src/JobProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobProcessor.js","sourceRoot":"","sources":["../src/JobProcessor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,11 +3,12 @@ import { ForkOptions } from 'child_process';
3
3
  import type { JobDefinition } from './types/JobDefinition.js';
4
4
  import type { AgendaConfig } from './types/AgendaConfig.js';
5
5
  import type { AgendaBackend } from './types/AgendaBackend.js';
6
- import type { NotificationChannel } from './types/NotificationChannel.js';
6
+ import type { NotificationChannel, JobStateNotification, JobStateType } from './types/NotificationChannel.js';
7
7
  import type { JobRepository } from './types/JobRepository.js';
8
8
  import type { AgendaStatus } from './types/AgendaStatus.js';
9
9
  import type { JobsQueryOptions, JobsResult, JobsOverview } from './types/JobQuery.js';
10
10
  import type { RemoveJobsOptions } from './types/JobRepository.js';
11
+ import type { DrainOptions, DrainResult } from './types/DrainOptions.js';
11
12
  import { Job, JobWithId } from './Job.js';
12
13
  import { JobPriority } from './utils/priority.js';
13
14
  /**
@@ -30,6 +31,8 @@ export interface AgendaOptions {
30
31
  lockLimit?: number;
31
32
  /** Default lock lifetime in milliseconds */
32
33
  defaultLockLifetime?: number;
34
+ /** Automatically remove one-time jobs from database after successful completion */
35
+ removeOnComplete?: boolean;
33
36
  /** Fork helper configuration for sandboxed workers */
34
37
  forkHelper?: {
35
38
  path: string;
@@ -74,19 +77,34 @@ export declare class Agenda extends EventEmitter {
74
77
  private backend;
75
78
  db: JobRepository;
76
79
  private notificationChannel?;
80
+ private stateSubscriptionUnsubscribe?;
77
81
  on(event: 'ready', listener: () => void): this;
78
82
  on(event: 'error', listener: (error: Error) => void): this;
79
- on(event: 'fail', listener: (error: Error, job: JobWithId) => void): this;
80
- on(event: 'success', listener: (job: JobWithId) => void): this;
81
- on(event: 'start', listener: (job: JobWithId) => void): this;
82
- on(event: 'complete', listener: (job: JobWithId) => void): this;
83
- on(event: 'retry', listener: (job: JobWithId, details: RetryDetails) => void): this;
83
+ on(event: 'fail', listener: (error: Error, job: JobWithId, remote?: false) => void): this;
84
+ on(event: 'fail', listener: (error: string, job: JobStateNotification, remote: true) => void): this;
85
+ on(event: 'success', listener: (job: JobWithId, remote?: false) => void): this;
86
+ on(event: 'success', listener: (job: JobStateNotification, remote: true) => void): this;
87
+ on(event: 'start', listener: (job: JobWithId, remote?: false) => void): this;
88
+ on(event: 'start', listener: (job: JobStateNotification, remote: true) => void): this;
89
+ on(event: 'complete', listener: (job: JobWithId, remote?: false) => void): this;
90
+ on(event: 'complete', listener: (job: JobStateNotification, remote: true) => void): this;
91
+ on(event: 'progress', listener: (job: JobWithId, remote?: false) => void): this;
92
+ on(event: 'progress', listener: (job: JobStateNotification, remote: true) => void): this;
93
+ on(event: 'retry', listener: (job: JobWithId, details: RetryDetails, remote?: false) => void): this;
94
+ on(event: 'retry', listener: (job: JobStateNotification, details: RetryDetails, remote: true) => void): this;
84
95
  on(event: 'retry exhausted', listener: (error: Error, job: JobWithId) => void): this;
85
- on(event: `fail:${string}`, listener: (error: Error, job: JobWithId) => void): this;
86
- on(event: `success:${string}`, listener: (job: JobWithId) => void): this;
87
- on(event: `start:${string}`, listener: (job: JobWithId) => void): this;
88
- on(event: `complete:${string}`, listener: (job: JobWithId) => void): this;
89
- on(event: `retry:${string}`, listener: (job: JobWithId, details: RetryDetails) => void): this;
96
+ on(event: `fail:${string}`, listener: (error: Error, job: JobWithId, remote?: false) => void): this;
97
+ on(event: `fail:${string}`, listener: (error: string, job: JobStateNotification, remote: true) => void): this;
98
+ on(event: `success:${string}`, listener: (job: JobWithId, remote?: false) => void): this;
99
+ on(event: `success:${string}`, listener: (job: JobStateNotification, remote: true) => void): this;
100
+ on(event: `start:${string}`, listener: (job: JobWithId, remote?: false) => void): this;
101
+ on(event: `start:${string}`, listener: (job: JobStateNotification, remote: true) => void): this;
102
+ on(event: `complete:${string}`, listener: (job: JobWithId, remote?: false) => void): this;
103
+ on(event: `complete:${string}`, listener: (job: JobStateNotification, remote: true) => void): this;
104
+ on(event: `progress:${string}`, listener: (job: JobWithId, remote?: false) => void): this;
105
+ on(event: `progress:${string}`, listener: (job: JobStateNotification, remote: true) => void): this;
106
+ on(event: `retry:${string}`, listener: (job: JobWithId, details: RetryDetails, remote?: false) => void): this;
107
+ on(event: `retry:${string}`, listener: (job: JobStateNotification, details: RetryDetails, remote: true) => void): this;
90
108
  on(event: `retry exhausted:${string}`, listener: (error: Error, job: JobWithId) => void): this;
91
109
  readonly definitions: {
92
110
  [name: string]: JobDefinition;
@@ -168,6 +186,19 @@ export declare class Agenda extends EventEmitter {
168
186
  * @internal
169
187
  */
170
188
  publishJobNotification(job: Job): Promise<void>;
189
+ /**
190
+ * Publish a job state notification to the notification channel.
191
+ * This enables bi-directional communication so that all subscribers
192
+ * can receive job lifecycle events (start, success, fail, complete, etc.)
193
+ * @internal
194
+ */
195
+ publishJobStateNotification(job: Job, type: JobStateType, extra?: Partial<Omit<JobStateNotification, 'type' | 'jobId' | 'jobName' | 'timestamp' | 'source'>>): void;
196
+ /**
197
+ * Subscribe to state notifications and re-emit them as regular events.
198
+ * This allows `agenda.on('success:jobName', ...)` to work across processes.
199
+ * @internal
200
+ */
201
+ private subscribeToStateNotifications;
171
202
  /**
172
203
  * Query jobs with database-agnostic options.
173
204
  * Returns jobs with computed states and supports filtering by state.
@@ -196,10 +227,10 @@ export declare class Agenda extends EventEmitter {
196
227
  * @param processor
197
228
  * @param options
198
229
  */
199
- define<DATA = any>(name: string, processor: (agendaJob: Job<DATA>, done: (error?: Error) => void) => void, options?: Partial<Pick<JobDefinition, 'lockLimit' | 'lockLifetime' | 'concurrency' | 'backoff'>> & {
230
+ define<DATA = any>(name: string, processor: (agendaJob: Job<DATA>, done: (error?: Error) => void) => void, options?: Partial<Pick<JobDefinition, 'lockLimit' | 'lockLifetime' | 'concurrency' | 'backoff' | 'removeOnComplete'>> & {
200
231
  priority?: JobPriority;
201
232
  }): void;
202
- define<DATA = any>(name: string, processor: (agendaJob: Job<DATA>) => Promise<void>, options?: Partial<Pick<JobDefinition, 'lockLimit' | 'lockLifetime' | 'concurrency' | 'backoff'>> & {
233
+ define<DATA = any>(name: string, processor: (agendaJob: Job<DATA>) => Promise<void>, options?: Partial<Pick<JobDefinition, 'lockLimit' | 'lockLifetime' | 'concurrency' | 'backoff' | 'removeOnComplete'>> & {
203
234
  priority?: JobPriority;
204
235
  }): void;
205
236
  /**
@@ -337,11 +368,31 @@ export declare class Agenda extends EventEmitter {
337
368
  * Waits for all currently running jobs to finish before stopping.
338
369
  * This allows for a graceful shutdown where jobs complete their work.
339
370
  * Unlike stop(), this method waits for running jobs to complete instead of unlocking them.
340
- * @param closeConnection - Whether to close the database connection.
341
- * Defaults to backend.ownsConnection (true if backend created the connection,
342
- * false if connection was passed in by user).
371
+ *
372
+ * @param options - Drain options or timeout in milliseconds
373
+ * - `timeout`: Maximum time to wait for jobs to complete
374
+ * - `signal`: AbortSignal to cancel the drain operation
375
+ * - `closeConnection`: Whether to close the database connection (default: backend.ownsConnection)
376
+ * @returns DrainResult with completion statistics
377
+ *
378
+ * @example
379
+ * // Wait indefinitely for all jobs to complete
380
+ * await agenda.drain();
381
+ *
382
+ * @example
383
+ * // Wait up to 30 seconds
384
+ * const result = await agenda.drain(30000);
385
+ * if (result.timedOut) console.log(`${result.running} jobs still running`);
386
+ *
387
+ * @example
388
+ * // Use AbortSignal for external control
389
+ * const controller = new AbortController();
390
+ * setTimeout(() => controller.abort(), 30000);
391
+ * await agenda.drain({ signal: controller.signal });
343
392
  */
344
- drain(closeConnection?: boolean): Promise<void>;
393
+ drain(options?: number | (DrainOptions & {
394
+ closeConnection?: boolean;
395
+ })): Promise<DrainResult>;
345
396
  }
346
397
  export * from './types/AgendaConfig.js';
347
398
  export * from './types/JobDefinition.js';
@@ -353,6 +404,7 @@ export * from './types/JobRepository.js';
353
404
  export * from './types/NotificationChannel.js';
354
405
  export * from './types/AgendaBackend.js';
355
406
  export * from './types/AgendaStatus.js';
407
+ export * from './types/DrainOptions.js';
356
408
  export * from './notifications/index.js';
357
409
  export { applyAllDateConstraints, applyDateRangeConstraints, applySkipDays, shouldSkipDay, isWithinDateRange } from './utils/dateConstraints.js';
358
410
  export * from './decorators/index.js';
package/dist/index.js CHANGED
@@ -13,7 +13,8 @@ const DefaultOptions = {
13
13
  defaultLockLimit: 0,
14
14
  lockLimit: 0,
15
15
  defaultLockLifetime: 10 * 60 * 1000,
16
- forkHelper: { path: 'dist/childWorker.js' }
16
+ forkHelper: { path: 'dist/childWorker.js' },
17
+ removeOnComplete: false
17
18
  };
18
19
  /**
19
20
  * @class
@@ -25,6 +26,7 @@ export class Agenda extends EventEmitter {
25
26
  backend;
26
27
  db;
27
28
  notificationChannel;
29
+ stateSubscriptionUnsubscribe;
28
30
  // Implementation (eslint-disable needed because overloads provide the public type safety)
29
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
32
  on(event, listener) {
@@ -74,7 +76,8 @@ export class Agenda extends EventEmitter {
74
76
  maxConcurrency: config.maxConcurrency || DefaultOptions.maxConcurrency,
75
77
  defaultLockLimit: config.defaultLockLimit || DefaultOptions.defaultLockLimit,
76
78
  lockLimit: config.lockLimit || DefaultOptions.lockLimit,
77
- defaultLockLifetime: config.defaultLockLifetime || DefaultOptions.defaultLockLifetime
79
+ defaultLockLifetime: config.defaultLockLifetime || DefaultOptions.defaultLockLifetime,
80
+ removeOnComplete: config.removeOnComplete ?? DefaultOptions.removeOnComplete
78
81
  };
79
82
  this.forkedWorker = config.forkedWorker;
80
83
  this.forkHelper = config.forkHelper;
@@ -257,6 +260,84 @@ export class Agenda extends EventEmitter {
257
260
  this.emit('error', error);
258
261
  }
259
262
  }
263
+ /**
264
+ * Publish a job state notification to the notification channel.
265
+ * This enables bi-directional communication so that all subscribers
266
+ * can receive job lifecycle events (start, success, fail, complete, etc.)
267
+ * @internal
268
+ */
269
+ publishJobStateNotification(job, type, extra) {
270
+ if (!this.notificationChannel ||
271
+ this.notificationChannel.state !== 'connected' ||
272
+ !this.notificationChannel.publishState) {
273
+ // Channel not configured, not connected, or doesn't support state notifications
274
+ return;
275
+ }
276
+ const notification = {
277
+ type,
278
+ jobId: job.attrs._id,
279
+ jobName: job.attrs.name,
280
+ timestamp: new Date(),
281
+ source: this.attrs.name || undefined,
282
+ ...extra
283
+ };
284
+ // fire+forget
285
+ this.notificationChannel
286
+ .publishState(notification)
287
+ .then(() => {
288
+ log('published job state notification [%s] for [%s:%s]', type, job.attrs.name, job.attrs._id);
289
+ })
290
+ .catch(error => {
291
+ log('failed to publish job state notification [%s] for [%s:%s]', type, job.attrs.name, job.attrs._id, error);
292
+ this.emit('error', error);
293
+ });
294
+ }
295
+ /**
296
+ * Subscribe to state notifications and re-emit them as regular events.
297
+ * This allows `agenda.on('success:jobName', ...)` to work across processes.
298
+ * @internal
299
+ */
300
+ subscribeToStateNotifications() {
301
+ if (!this.notificationChannel?.subscribeState) {
302
+ return () => { };
303
+ }
304
+ return this.notificationChannel.subscribeState(notification => {
305
+ // Skip events from our own instance to avoid double-firing
306
+ // (we already emit locally in Job.run())
307
+ // Handle both empty strings and undefined as "same source" when both are falsy
308
+ const notificationSource = notification.source || '';
309
+ const ourSource = this.attrs.name || '';
310
+ if (notificationSource === ourSource) {
311
+ return;
312
+ }
313
+ log('received remote state notification [%s] for [%s:%s]', notification.type, notification.jobName, notification.jobId);
314
+ // Use nextTick to ensure local events are processed first
315
+ // This prevents race conditions where remote events arrive before local processing completes
316
+ process.nextTick(() => {
317
+ // Re-emit as regular events with remote=true flag
318
+ // For 'fail' events, the first argument is the error
319
+ if (notification.type === 'fail') {
320
+ this.emit('fail', notification.error, notification, true);
321
+ this.emit(`fail:${notification.jobName}`, notification.error, notification, true);
322
+ }
323
+ else if (notification.type === 'retry') {
324
+ // For 'retry' events, pass retry details as second argument
325
+ const retryDetails = {
326
+ attempt: notification.retryAttempt || 1,
327
+ delay: 0, // Not available in notification
328
+ nextRunAt: notification.retryAt || new Date(),
329
+ error: new Error(notification.error || 'Unknown error')
330
+ };
331
+ this.emit('retry', notification, retryDetails, true);
332
+ this.emit(`retry:${notification.jobName}`, notification, retryDetails, true);
333
+ }
334
+ else {
335
+ this.emit(notification.type, notification, true);
336
+ this.emit(`${notification.type}:${notification.jobName}`, notification, true);
337
+ }
338
+ });
339
+ });
340
+ }
260
341
  /**
261
342
  * Query jobs with database-agnostic options.
262
343
  * Returns jobs with computed states and supports filtering by state.
@@ -299,7 +380,8 @@ export class Agenda extends EventEmitter {
299
380
  lockLimit: options?.lockLimit || this.attrs.defaultLockLimit,
300
381
  priority: parsePriority(options?.priority),
301
382
  lockLifetime: options?.lockLifetime || this.attrs.defaultLockLifetime,
302
- backoff: options?.backoff
383
+ backoff: options?.backoff,
384
+ removeOnComplete: options?.removeOnComplete ?? this.attrs.removeOnComplete
303
385
  };
304
386
  log('job [%s] defined with following options: \n%O', name, this.definitions[name]);
305
387
  }
@@ -425,9 +507,7 @@ export class Agenda extends EventEmitter {
425
507
  log('Agenda.nowDebounced(%s, [Object], %O, %d)', name, uniqueKey, debounceMs);
426
508
  try {
427
509
  const job = this.create(name, data);
428
- job.schedule(new Date())
429
- .unique(uniqueKey)
430
- .debounce(debounceMs, options);
510
+ job.schedule(new Date()).unique(uniqueKey).debounce(debounceMs, options);
431
511
  await job.save();
432
512
  return job;
433
513
  }
@@ -451,6 +531,8 @@ export class Agenda extends EventEmitter {
451
531
  if (this.notificationChannel) {
452
532
  log('Agenda.start connecting notification channel');
453
533
  await this.notificationChannel.connect();
534
+ // Subscribe to state notifications for cross-process event propagation
535
+ this.stateSubscriptionUnsubscribe = this.subscribeToStateNotifications();
454
536
  }
455
537
  this.jobProcessor = new JobProcessor(this, this.attrs.maxConcurrency, this.attrs.lockLimit, this.attrs.processEvery, this.notificationChannel);
456
538
  }
@@ -473,6 +555,11 @@ export class Agenda extends EventEmitter {
473
555
  log('about to unlock jobs with ids: %O', jobIds);
474
556
  await this.db.unlockJobs(jobIds);
475
557
  }
558
+ // Unsubscribe from state notifications
559
+ if (this.stateSubscriptionUnsubscribe) {
560
+ this.stateSubscriptionUnsubscribe();
561
+ this.stateSubscriptionUnsubscribe = undefined;
562
+ }
476
563
  // Disconnect notification channel if configured (we always disconnect since we connected it in start)
477
564
  if (this.notificationChannel) {
478
565
  log('Agenda.stop disconnecting notification channel');
@@ -491,30 +578,56 @@ export class Agenda extends EventEmitter {
491
578
  * Waits for all currently running jobs to finish before stopping.
492
579
  * This allows for a graceful shutdown where jobs complete their work.
493
580
  * Unlike stop(), this method waits for running jobs to complete instead of unlocking them.
494
- * @param closeConnection - Whether to close the database connection.
495
- * Defaults to backend.ownsConnection (true if backend created the connection,
496
- * false if connection was passed in by user).
581
+ *
582
+ * @param options - Drain options or timeout in milliseconds
583
+ * - `timeout`: Maximum time to wait for jobs to complete
584
+ * - `signal`: AbortSignal to cancel the drain operation
585
+ * - `closeConnection`: Whether to close the database connection (default: backend.ownsConnection)
586
+ * @returns DrainResult with completion statistics
587
+ *
588
+ * @example
589
+ * // Wait indefinitely for all jobs to complete
590
+ * await agenda.drain();
591
+ *
592
+ * @example
593
+ * // Wait up to 30 seconds
594
+ * const result = await agenda.drain(30000);
595
+ * if (result.timedOut) console.log(`${result.running} jobs still running`);
596
+ *
597
+ * @example
598
+ * // Use AbortSignal for external control
599
+ * const controller = new AbortController();
600
+ * setTimeout(() => controller.abort(), 30000);
601
+ * await agenda.drain({ signal: controller.signal });
497
602
  */
498
- async drain(closeConnection) {
603
+ async drain(options) {
499
604
  if (!this.jobProcessor) {
500
605
  log('Agenda.drain called, but agenda has never started!');
501
- return;
606
+ return { completed: 0, running: 0, timedOut: false, aborted: false };
502
607
  }
608
+ // Normalize options
609
+ const opts = typeof options === 'number' ? { timeout: options } : options ?? {};
503
610
  log('Agenda.drain called, waiting for jobs to finish');
504
- await this.jobProcessor.drain();
611
+ const result = await this.jobProcessor.drain(opts);
612
+ // Unsubscribe from state notifications
613
+ if (this.stateSubscriptionUnsubscribe) {
614
+ this.stateSubscriptionUnsubscribe();
615
+ this.stateSubscriptionUnsubscribe = undefined;
616
+ }
505
617
  // Disconnect notification channel if configured (we always disconnect since we connected it in start)
506
618
  if (this.notificationChannel) {
507
619
  log('Agenda.drain disconnecting notification channel');
508
620
  await this.notificationChannel.disconnect();
509
621
  }
510
622
  // Determine whether to close backend connection
511
- const shouldClose = closeConnection ?? this.backend.ownsConnection ?? true;
623
+ const shouldClose = opts.closeConnection ?? this.backend.ownsConnection ?? true;
512
624
  // Disconnect the backend
513
625
  if (shouldClose) {
514
626
  log('Agenda.drain disconnecting backend');
515
627
  await this.backend.disconnect();
516
628
  }
517
629
  this.jobProcessor = undefined;
630
+ return result;
518
631
  }
519
632
  }
520
633
  export * from './types/AgendaConfig.js';
@@ -527,6 +640,7 @@ export * from './types/JobRepository.js';
527
640
  export * from './types/NotificationChannel.js';
528
641
  export * from './types/AgendaBackend.js';
529
642
  export * from './types/AgendaStatus.js';
643
+ export * from './types/DrainOptions.js';
530
644
  export * from './notifications/index.js';
531
645
  export { applyAllDateConstraints, applyDateRangeConstraints, applySkipDays, shouldSkipDay, isWithinDateRange } from './utils/dateConstraints.js';
532
646
  export * from './decorators/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'events';
2
- import type { NotificationChannel, NotificationChannelConfig, JobNotification, NotificationHandler, NotificationChannelState } from '../types/NotificationChannel.js';
2
+ import type { NotificationChannel, NotificationChannelConfig, JobNotification, NotificationHandler, NotificationChannelState, JobStateNotification, StateNotificationHandler } from '../types/NotificationChannel.js';
3
3
  /**
4
4
  * Internal config type with all properties required
5
5
  */
@@ -19,6 +19,7 @@ interface ResolvedNotificationChannelConfig {
19
19
  export declare abstract class BaseNotificationChannel extends EventEmitter implements NotificationChannel {
20
20
  protected _state: NotificationChannelState;
21
21
  protected handlers: Set<NotificationHandler>;
22
+ protected stateHandlers: Set<StateNotificationHandler>;
22
23
  protected reconnectAttempts: number;
23
24
  protected reconnectTimeout?: ReturnType<typeof setTimeout>;
24
25
  protected readonly config: ResolvedNotificationChannelConfig;
@@ -30,6 +31,16 @@ export declare abstract class BaseNotificationChannel extends EventEmitter imple
30
31
  abstract publish(notification: JobNotification): Promise<void>;
31
32
  subscribe(handler: NotificationHandler): () => void;
32
33
  protected notifyHandlers(notification: JobNotification): Promise<void>;
34
+ /**
35
+ * Notify all registered state handlers of a state notification.
36
+ * Subclasses should call this when receiving state notifications.
37
+ */
38
+ protected notifyStateHandlers(notification: JobStateNotification): Promise<void>;
39
+ /**
40
+ * Subscribe to state notifications.
41
+ * Default implementation manages the stateHandlers set.
42
+ */
43
+ subscribeState(handler: StateNotificationHandler): () => void;
33
44
  protected scheduleReconnect(): void;
34
45
  protected clearReconnect(): void;
35
46
  }
@@ -6,6 +6,7 @@ import { EventEmitter } from 'events';
6
6
  export class BaseNotificationChannel extends EventEmitter {
7
7
  _state = 'disconnected';
8
8
  handlers = new Set();
9
+ stateHandlers = new Set();
9
10
  reconnectAttempts = 0;
10
11
  reconnectTimeout;
11
12
  config;
@@ -51,6 +52,35 @@ export class BaseNotificationChannel extends EventEmitter {
51
52
  }
52
53
  await Promise.allSettled(promises);
53
54
  }
55
+ /**
56
+ * Notify all registered state handlers of a state notification.
57
+ * Subclasses should call this when receiving state notifications.
58
+ */
59
+ async notifyStateHandlers(notification) {
60
+ const promises = [];
61
+ for (const handler of this.stateHandlers) {
62
+ try {
63
+ const result = handler(notification);
64
+ if (result instanceof Promise) {
65
+ promises.push(result);
66
+ }
67
+ }
68
+ catch (error) {
69
+ this.emit('error', error);
70
+ }
71
+ }
72
+ await Promise.allSettled(promises);
73
+ }
74
+ /**
75
+ * Subscribe to state notifications.
76
+ * Default implementation manages the stateHandlers set.
77
+ */
78
+ subscribeState(handler) {
79
+ this.stateHandlers.add(handler);
80
+ return () => {
81
+ this.stateHandlers.delete(handler);
82
+ };
83
+ }
54
84
  scheduleReconnect() {
55
85
  if (!this.config.reconnect.enabled) {
56
86
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNotificationChannel.js","sourceRoot":"","sources":["../../src/notifications/BaseNotificationChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAsBtC;;;GAGG;AACH,MAAM,OAAgB,uBAAwB,SAAQ,YAAY;IACvD,MAAM,GAA6B,cAAc,CAAC;IAClD,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1C,iBAAiB,GAAG,CAAC,CAAC;IACtB,gBAAgB,CAAiC;IAExC,MAAM,CAAoC;IAE7D,YAAY,SAAoC,EAAE;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG;YACb,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,aAAa;YAChD,SAAS,EAAE;gBACV,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI;gBAC1C,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE;gBAChD,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,IAAI,GAAG;gBACvD,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,KAAK;aACjD;SACD,CAAC;IACH,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAES,QAAQ,CAAC,QAAkC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAMD,SAAS,CAAC,OAA4B;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC;IACH,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,YAA6B;QAC3D,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;gBACrC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAES,iBAAiB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;YACnE,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAChC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACJ,CAAC,EAAE,KAAK,CAAC,CAAC;IACX,CAAC;IAES,cAAc;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC5B,CAAC;CACD"}
1
+ {"version":3,"file":"BaseNotificationChannel.js","sourceRoot":"","sources":["../../src/notifications/BaseNotificationChannel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { NotificationChannelConfig, JobNotification } from '../types/NotificationChannel.js';
1
+ import type { NotificationChannelConfig, JobNotification, JobStateNotification } from '../types/NotificationChannel.js';
2
2
  import { BaseNotificationChannel } from './BaseNotificationChannel.js';
3
3
  /**
4
4
  * In-memory notification channel for testing and single-process scenarios.
@@ -9,4 +9,5 @@ export declare class InMemoryNotificationChannel extends BaseNotificationChannel
9
9
  connect(): Promise<void>;
10
10
  disconnect(): Promise<void>;
11
11
  publish(notification: JobNotification): Promise<void>;
12
+ publishState(notification: JobStateNotification): Promise<void>;
12
13
  }
@@ -14,6 +14,7 @@ export class InMemoryNotificationChannel extends BaseNotificationChannel {
14
14
  async disconnect() {
15
15
  this.clearReconnect();
16
16
  this.handlers.clear();
17
+ this.stateHandlers.clear();
17
18
  this.setState('disconnected');
18
19
  }
19
20
  async publish(notification) {
@@ -22,5 +23,11 @@ export class InMemoryNotificationChannel extends BaseNotificationChannel {
22
23
  }
23
24
  await this.notifyHandlers(notification);
24
25
  }
26
+ async publishState(notification) {
27
+ if (this._state !== 'connected') {
28
+ throw new Error('Cannot publish state: channel not connected');
29
+ }
30
+ await this.notifyStateHandlers(notification);
31
+ }
25
32
  }
26
33
  //# sourceMappingURL=InMemoryNotificationChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryNotificationChannel.js","sourceRoot":"","sources":["../../src/notifications/InMemoryNotificationChannel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,uBAAuB;IACvE,YAAY,SAAoC,EAAE;QACjD,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAA6B;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;CACD"}
1
+ {"version":3,"file":"InMemoryNotificationChannel.js","sourceRoot":"","sources":["../../src/notifications/InMemoryNotificationChannel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,uBAAuB;IACvE,YAAY,SAAoC,EAAE;QACjD,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAA6B;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAkC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;CACD"}
@@ -6,4 +6,5 @@ export interface AgendaConfig {
6
6
  defaultLockLimit: number;
7
7
  lockLimit: number;
8
8
  defaultLockLifetime: number;
9
+ removeOnComplete: boolean;
9
10
  }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Options for the drain() method
3
+ */
4
+ export interface DrainOptions {
5
+ /**
6
+ * Maximum time in milliseconds to wait for jobs to complete.
7
+ * If not specified, drain() will wait indefinitely.
8
+ */
9
+ timeout?: number;
10
+ /**
11
+ * AbortSignal to cancel the drain operation.
12
+ * When aborted, drain() will resolve immediately with the current state.
13
+ */
14
+ signal?: AbortSignal;
15
+ }
16
+ /**
17
+ * Result of the drain() operation
18
+ */
19
+ export interface DrainResult {
20
+ /**
21
+ * Number of jobs that completed during the drain
22
+ */
23
+ completed: number;
24
+ /**
25
+ * Number of jobs still running when drain finished
26
+ * (only non-zero if timeout was hit or signal was aborted)
27
+ */
28
+ running: number;
29
+ /**
30
+ * Whether the drain finished because the timeout was reached
31
+ */
32
+ timedOut: boolean;
33
+ /**
34
+ * Whether the drain finished because the signal was aborted
35
+ */
36
+ aborted: boolean;
37
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DrainOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrainOptions.js","sourceRoot":"","sources":["../../src/types/DrainOptions.ts"],"names":[],"mappings":""}
@@ -34,6 +34,8 @@ export interface JobDefinition<DATA = unknown> {
34
34
  * ```
35
35
  */
36
36
  backoff?: BackoffStrategy;
37
+ /** Automatically remove this job from database after successful completion (one-time jobs only) */
38
+ removeOnComplete?: boolean;
37
39
  filePath: string | undefined;
38
40
  fn: DefinitionProcessor<DATA, void | ((error?: Error) => void)>;
39
41
  }
@@ -10,6 +10,42 @@ export interface JobNotification {
10
10
  timestamp: Date;
11
11
  source?: string;
12
12
  }
13
+ /**
14
+ * Types of job state events that can be published
15
+ */
16
+ export type JobStateType = 'start' | 'progress' | 'success' | 'fail' | 'complete' | 'retry';
17
+ /**
18
+ * Notification payload sent when a job's state changes during execution.
19
+ * This enables bi-directional communication so that all subscribers
20
+ * can receive job lifecycle events (start, success, fail, complete, etc.)
21
+ */
22
+ export interface JobStateNotification {
23
+ type: JobStateType;
24
+ jobId: JobId;
25
+ jobName: string;
26
+ timestamp: Date;
27
+ source?: string;
28
+ /** Progress percentage (0-100) for 'progress' events */
29
+ progress?: number;
30
+ /** Error message for 'fail' events */
31
+ error?: string;
32
+ /** Failure count for 'fail' events */
33
+ failCount?: number;
34
+ /** Scheduled retry time for 'retry' events */
35
+ retryAt?: Date;
36
+ /** Retry attempt number for 'retry' events */
37
+ retryAttempt?: number;
38
+ /** Job execution duration in ms for 'complete' events */
39
+ duration?: number;
40
+ /** When the job started for 'complete' events */
41
+ lastRunAt?: Date;
42
+ /** When the job finished for 'complete' events */
43
+ lastFinishedAt?: Date;
44
+ }
45
+ /**
46
+ * Handler function for processing job state notifications
47
+ */
48
+ export type StateNotificationHandler = (notification: JobStateNotification) => void | Promise<void>;
13
49
  /**
14
50
  * Handler function for processing job notifications
15
51
  */
@@ -68,4 +104,17 @@ export interface NotificationChannel {
68
104
  */
69
105
  off(event: 'stateChange', listener: (state: NotificationChannelState) => void): this;
70
106
  off(event: 'error', listener: (error: Error) => void): this;
107
+ /**
108
+ * Publish a job state notification (bi-directional communication).
109
+ * Optional - only implement if the channel supports state notifications.
110
+ * @param notification - The state notification to publish
111
+ */
112
+ publishState?(notification: JobStateNotification): Promise<void>;
113
+ /**
114
+ * Subscribe to job state notifications (bi-directional communication).
115
+ * Optional - only implement if the channel supports state notifications.
116
+ * @param handler - Function to call when a state notification is received
117
+ * @returns Unsubscribe function
118
+ */
119
+ subscribeState?(handler: StateNotificationHandler): () => void;
71
120
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agenda",
3
- "version": "6.0.0",
3
+ "version": "6.1.0",
4
4
  "description": "Light weight job scheduler for Node.js",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",