bunqueue 2.0.1 → 2.0.3

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 (90) hide show
  1. package/dist/application/backgroundTasks.d.ts.map +1 -1
  2. package/dist/application/backgroundTasks.js +108 -11
  3. package/dist/application/backgroundTasks.js.map +1 -1
  4. package/dist/application/operations/jobManagement.d.ts.map +1 -1
  5. package/dist/application/operations/jobManagement.js +1 -0
  6. package/dist/application/operations/jobManagement.js.map +1 -1
  7. package/dist/application/queueManager.d.ts +8 -0
  8. package/dist/application/queueManager.d.ts.map +1 -1
  9. package/dist/application/queueManager.js +40 -0
  10. package/dist/application/queueManager.js.map +1 -1
  11. package/dist/client/queue/bullmqCompat.d.ts +46 -0
  12. package/dist/client/queue/bullmqCompat.d.ts.map +1 -0
  13. package/dist/client/queue/bullmqCompat.js +97 -0
  14. package/dist/client/queue/bullmqCompat.js.map +1 -0
  15. package/dist/client/queue/deduplication.d.ts +13 -0
  16. package/dist/client/queue/deduplication.d.ts.map +1 -0
  17. package/dist/client/queue/deduplication.js +24 -0
  18. package/dist/client/queue/deduplication.js.map +1 -0
  19. package/dist/client/queue/dlq.d.ts +31 -0
  20. package/dist/client/queue/dlq.d.ts.map +1 -0
  21. package/dist/client/queue/dlq.js +85 -0
  22. package/dist/client/queue/dlq.js.map +1 -0
  23. package/dist/client/queue/jobMove.d.ts +33 -0
  24. package/dist/client/queue/jobMove.d.ts.map +1 -0
  25. package/dist/client/queue/jobMove.js +113 -0
  26. package/dist/client/queue/jobMove.js.map +1 -0
  27. package/dist/client/queue/jobProxy.d.ts +28 -0
  28. package/dist/client/queue/jobProxy.d.ts.map +1 -0
  29. package/dist/client/queue/jobProxy.js +209 -0
  30. package/dist/client/queue/jobProxy.js.map +1 -0
  31. package/dist/client/queue/operations/add.d.ts +47 -0
  32. package/dist/client/queue/operations/add.d.ts.map +1 -0
  33. package/dist/client/queue/operations/add.js +226 -0
  34. package/dist/client/queue/operations/add.js.map +1 -0
  35. package/dist/client/queue/operations/control.d.ts +26 -0
  36. package/dist/client/queue/operations/control.d.ts.map +1 -0
  37. package/dist/client/queue/operations/control.js +56 -0
  38. package/dist/client/queue/operations/control.js.map +1 -0
  39. package/dist/client/queue/operations/counts.d.ts +40 -0
  40. package/dist/client/queue/operations/counts.d.ts.map +1 -0
  41. package/dist/client/queue/operations/counts.js +99 -0
  42. package/dist/client/queue/operations/counts.js.map +1 -0
  43. package/dist/client/queue/operations/index.d.ts +10 -0
  44. package/dist/client/queue/operations/index.d.ts.map +1 -0
  45. package/dist/client/queue/operations/index.js +10 -0
  46. package/dist/client/queue/operations/index.js.map +1 -0
  47. package/dist/client/queue/operations/management.d.ts +56 -0
  48. package/dist/client/queue/operations/management.d.ts.map +1 -0
  49. package/dist/client/queue/operations/management.js +181 -0
  50. package/dist/client/queue/operations/management.js.map +1 -0
  51. package/dist/client/queue/operations/query.d.ts +58 -0
  52. package/dist/client/queue/operations/query.d.ts.map +1 -0
  53. package/dist/client/queue/operations/query.js +191 -0
  54. package/dist/client/queue/operations/query.js.map +1 -0
  55. package/dist/client/queue/queue.d.ts +93 -272
  56. package/dist/client/queue/queue.d.ts.map +1 -1
  57. package/dist/client/queue/queue.js +297 -1599
  58. package/dist/client/queue/queue.js.map +1 -1
  59. package/dist/client/queue/queueTypes.d.ts +34 -0
  60. package/dist/client/queue/queueTypes.d.ts.map +1 -0
  61. package/dist/client/queue/queueTypes.js +6 -0
  62. package/dist/client/queue/queueTypes.js.map +1 -0
  63. package/dist/client/queue/rateLimit.d.ts +32 -0
  64. package/dist/client/queue/rateLimit.d.ts.map +1 -0
  65. package/dist/client/queue/rateLimit.js +69 -0
  66. package/dist/client/queue/rateLimit.js.map +1 -0
  67. package/dist/client/queue/scheduler.d.ts +44 -0
  68. package/dist/client/queue/scheduler.d.ts.map +1 -0
  69. package/dist/client/queue/scheduler.js +114 -0
  70. package/dist/client/queue/scheduler.js.map +1 -0
  71. package/dist/client/queue/stall.d.ts +15 -0
  72. package/dist/client/queue/stall.d.ts.map +1 -0
  73. package/dist/client/queue/stall.js +21 -0
  74. package/dist/client/queue/stall.js.map +1 -0
  75. package/dist/client/queue/workers.d.ts +29 -0
  76. package/dist/client/queue/workers.d.ts.map +1 -0
  77. package/dist/client/queue/workers.js +39 -0
  78. package/dist/client/queue/workers.js.map +1 -0
  79. package/dist/client/sandboxed/worker.d.ts.map +1 -1
  80. package/dist/client/sandboxed/worker.js +12 -1
  81. package/dist/client/sandboxed/worker.js.map +1 -1
  82. package/dist/infrastructure/persistence/sqlite.d.ts +25 -2
  83. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  84. package/dist/infrastructure/persistence/sqlite.js +47 -6
  85. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  86. package/dist/infrastructure/server/handlers/query.d.ts +1 -1
  87. package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
  88. package/dist/infrastructure/server/handlers/query.js +4 -11
  89. package/dist/infrastructure/server/handlers/query.js.map +1 -1
  90. package/package.json +1 -1
@@ -0,0 +1,181 @@
1
+ /* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-floating-promises, @typescript-eslint/no-unnecessary-condition */
2
+ /**
3
+ * Queue Management Operations
4
+ * remove, retry, clean, promote, updateProgress, logs
5
+ */
6
+ import { getSharedManager } from '../../manager';
7
+ import { jobId } from '../../../domain/types/job';
8
+ // ============ Remove Operations ============
9
+ /** Remove a job (sync) */
10
+ export function remove(ctx, id) {
11
+ if (ctx.embedded)
12
+ getSharedManager().cancel(jobId(id));
13
+ else
14
+ ctx.tcp.send({ cmd: 'Cancel', id });
15
+ }
16
+ /** Remove a job (async) */
17
+ export async function removeAsync(ctx, id) {
18
+ if (ctx.embedded) {
19
+ getSharedManager().cancel(jobId(id));
20
+ return;
21
+ }
22
+ await ctx.tcp.send({ cmd: 'Cancel', id });
23
+ }
24
+ // ============ Retry Operations ============
25
+ /** Retry a specific job */
26
+ export async function retryJob(ctx, id) {
27
+ if (ctx.embedded) {
28
+ getSharedManager().retryDlq(ctx.name, jobId(id));
29
+ return;
30
+ }
31
+ await ctx.tcp.send({ cmd: 'RetryDlq', queue: ctx.name, id });
32
+ }
33
+ /** Retry jobs matching criteria */
34
+ export async function retryJobs(ctx, opts) {
35
+ if (ctx.embedded) {
36
+ if (opts?.state === 'failed') {
37
+ getSharedManager().retryDlq(ctx.name);
38
+ }
39
+ return;
40
+ }
41
+ if (opts?.state === 'failed') {
42
+ await ctx.tcp.send({ cmd: 'RetryDlq', queue: ctx.name, count: opts?.count });
43
+ }
44
+ }
45
+ // ============ Clean Operations ============
46
+ /** Clean old jobs (sync) */
47
+ export function clean(ctx, grace, limit, type) {
48
+ if (!ctx.embedded)
49
+ return [];
50
+ const count = getSharedManager().clean(ctx.name, grace, type, limit);
51
+ return new Array(count).fill('');
52
+ }
53
+ /** Clean old jobs (async) */
54
+ export async function cleanAsync(ctx, grace, limit, type) {
55
+ if (ctx.embedded)
56
+ return clean(ctx, grace, limit, type);
57
+ const response = await ctx.tcp.send({
58
+ cmd: 'Clean',
59
+ queue: ctx.name,
60
+ grace,
61
+ limit,
62
+ type,
63
+ });
64
+ if (!response.ok)
65
+ return [];
66
+ const ids = (response.ids ?? []);
67
+ return ids;
68
+ }
69
+ // ============ Promote Operations ============
70
+ /** Promote delayed jobs to waiting */
71
+ export async function promoteJobs(ctx, opts) {
72
+ if (ctx.embedded) {
73
+ // Get delayed jobs and promote them one by one
74
+ const manager = getSharedManager();
75
+ const jobs = manager.getJobs(ctx.name, { state: 'delayed' });
76
+ const count = opts?.count ?? jobs.length;
77
+ let promoted = 0;
78
+ for (let i = 0; i < Math.min(count, jobs.length); i++) {
79
+ const success = await manager.promote(jobs[i].id);
80
+ if (success)
81
+ promoted++;
82
+ }
83
+ return promoted;
84
+ }
85
+ const response = await ctx.tcp.send({
86
+ cmd: 'PromoteJobs',
87
+ queue: ctx.name,
88
+ count: opts?.count,
89
+ });
90
+ if (!response.ok)
91
+ return 0;
92
+ return (response.promoted ?? 0);
93
+ }
94
+ /** Promote a single job */
95
+ export async function promoteJob(ctx, id) {
96
+ if (ctx.embedded) {
97
+ await getSharedManager().promote(jobId(id));
98
+ return;
99
+ }
100
+ await ctx.tcp.send({ cmd: 'Promote', id });
101
+ }
102
+ // ============ Progress Operations ============
103
+ /** Update job progress */
104
+ export async function updateJobProgress(ctx, id, progress) {
105
+ const progressValue = typeof progress === 'number' ? progress : 0;
106
+ const message = typeof progress === 'object' ? JSON.stringify(progress) : undefined;
107
+ if (ctx.embedded) {
108
+ await getSharedManager().updateProgress(jobId(id), progressValue, message);
109
+ return;
110
+ }
111
+ await ctx.tcp.send({ cmd: 'Progress', id, progress: progressValue, message });
112
+ }
113
+ // ============ Log Operations ============
114
+ /** Get job logs */
115
+ export async function getJobLogs(ctx, id, start = 0, end = 100) {
116
+ if (ctx.embedded) {
117
+ const logs = getSharedManager().getLogs(jobId(id));
118
+ const logStrings = logs.slice(start, end).map((l) => `[${l.level}] ${l.message}`);
119
+ return { logs: logStrings, count: logs.length };
120
+ }
121
+ const response = await ctx.tcp.send({ cmd: 'GetLogs', id, start, end });
122
+ if (!response.ok)
123
+ return { logs: [], count: 0 };
124
+ // Server returns { ok: true, data: { logs } }
125
+ const data = response.data;
126
+ const logs = data?.logs ?? [];
127
+ const logStrings = logs.map((l) => `[${l.level}] ${l.message}`);
128
+ return { logs: logStrings, count: logs.length };
129
+ }
130
+ /** Add a log entry to a job */
131
+ export async function addJobLog(ctx, id, logRow) {
132
+ if (ctx.embedded) {
133
+ const success = getSharedManager().addLog(jobId(id), logRow);
134
+ return success ? 1 : 0;
135
+ }
136
+ const response = await ctx.tcp.send({ cmd: 'AddLog', id, message: logRow });
137
+ return response.ok ? 1 : 0;
138
+ }
139
+ /** Clear job logs */
140
+ export async function clearJobLogs(ctx, id, keepLogs) {
141
+ if (ctx.embedded) {
142
+ getSharedManager().clearLogs(jobId(id), keepLogs);
143
+ return;
144
+ }
145
+ await ctx.tcp.send({ cmd: 'ClearLogs', id, keepLogs });
146
+ }
147
+ // ============ Data Update Operations ============
148
+ /** Update job data */
149
+ export async function updateJobData(ctx, id, data) {
150
+ if (ctx.embedded) {
151
+ await getSharedManager().updateJobData(jobId(id), data);
152
+ return;
153
+ }
154
+ await ctx.tcp.send({ cmd: 'Update', id, data });
155
+ }
156
+ /** Change job delay */
157
+ export async function changeJobDelay(ctx, id, delay) {
158
+ if (ctx.embedded) {
159
+ // Not directly supported in embedded mode
160
+ return;
161
+ }
162
+ await ctx.tcp.send({ cmd: 'ChangeDelay', id, delay });
163
+ }
164
+ /** Change job priority */
165
+ export async function changeJobPriority(ctx, id, opts) {
166
+ if (ctx.embedded) {
167
+ await getSharedManager().changePriority(jobId(id), opts.priority);
168
+ return;
169
+ }
170
+ await ctx.tcp.send({ cmd: 'ChangePriority', id, priority: opts.priority });
171
+ }
172
+ /** Extend job lock */
173
+ export async function extendJobLock(ctx, id, token, duration) {
174
+ if (ctx.embedded) {
175
+ const success = await getSharedManager().extendLock(jobId(id), token, duration);
176
+ return success ? duration : 0;
177
+ }
178
+ const response = await ctx.tcp.send({ cmd: 'ExtendLock', id, token, duration });
179
+ return response.ok ? duration : 0;
180
+ }
181
+ //# sourceMappingURL=management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management.js","sourceRoot":"","sources":["../../../../src/client/queue/operations/management.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Queue Query Operations
3
+ * getJob, getJobs, getJobState, getJobsAsync
4
+ */
5
+ import type { TcpConnectionPool } from '../../tcpPool';
6
+ import type { Job, JobStateType, GetDependenciesOpts, JobDependencies, JobDependenciesCount } from '../../types';
7
+ interface QueryContext {
8
+ name: string;
9
+ embedded: boolean;
10
+ tcp: TcpConnectionPool | null;
11
+ getJobState: (id: string) => Promise<JobStateType>;
12
+ removeAsync: (id: string) => Promise<void>;
13
+ retryJob: (id: string) => Promise<void>;
14
+ getChildrenValues: (id: string) => Promise<Record<string, unknown>>;
15
+ updateJobData?: (id: string, data: unknown) => Promise<void>;
16
+ promoteJob?: (id: string) => Promise<void>;
17
+ changeJobDelay?: (id: string, delay: number) => Promise<void>;
18
+ changeJobPriority?: (id: string, opts: {
19
+ priority: number;
20
+ }) => Promise<void>;
21
+ extendJobLock?: (id: string, token: string, duration: number) => Promise<number>;
22
+ clearJobLogs?: (id: string, keepLogs?: number) => Promise<void>;
23
+ getJobDependencies?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependencies>;
24
+ getJobDependenciesCount?: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>;
25
+ }
26
+ /** Get a single job by ID */
27
+ export declare function getJob<T>(ctx: QueryContext, id: string): Promise<Job<T> | null>;
28
+ /** Get job state by ID */
29
+ export declare function getJobState(ctx: QueryContext, id: string): Promise<'waiting' | 'delayed' | 'active' | 'completed' | 'failed' | 'unknown'>;
30
+ /** Get children values for a job */
31
+ export declare function getChildrenValues(ctx: QueryContext, id: string): Promise<Record<string, unknown>>;
32
+ interface GetJobsOptions {
33
+ state?: 'waiting' | 'delayed' | 'active' | 'completed' | 'failed';
34
+ start?: number;
35
+ end?: number;
36
+ asc?: boolean;
37
+ }
38
+ /** Get jobs with filtering (sync, embedded only) */
39
+ export declare function getJobs<T>(ctx: QueryContext, options?: GetJobsOptions): Job<T>[];
40
+ /** Get jobs with filtering (async, works with TCP) */
41
+ export declare function getJobsAsync<T>(ctx: QueryContext, options?: GetJobsOptions): Promise<Job<T>[]>;
42
+ /** Get waiting jobs */
43
+ export declare function getWaiting<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
44
+ export declare function getWaitingAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
45
+ /** Get delayed jobs */
46
+ export declare function getDelayed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
47
+ export declare function getDelayedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
48
+ /** Get active jobs */
49
+ export declare function getActive<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
50
+ export declare function getActiveAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
51
+ /** Get completed jobs */
52
+ export declare function getCompleted<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
53
+ export declare function getCompletedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
54
+ /** Get failed jobs */
55
+ export declare function getFailed<T>(ctx: QueryContext, start?: number, end?: number): Job<T>[];
56
+ export declare function getFailedAsync<T>(ctx: QueryContext, start?: number, end?: number): Promise<Job<T>[]>;
57
+ export {};
58
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/client/queue/operations/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ /* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/switch-exhaustiveness-check */
2
+ /**
3
+ * Queue Query Operations
4
+ * getJob, getJobs, getJobState, getJobsAsync
5
+ */
6
+ import { getSharedManager } from '../../manager';
7
+ import { toPublicJob } from '../../types';
8
+ import { jobId } from '../../../domain/types/job';
9
+ import { createSimpleJob } from '../jobProxy';
10
+ /** Get a single job by ID */
11
+ export async function getJob(ctx, id) {
12
+ if (ctx.embedded) {
13
+ const job = await getSharedManager().getJob(jobId(id));
14
+ if (!job)
15
+ return null;
16
+ const name = job.data?.name ?? 'unknown';
17
+ // Use toPublicJob if extended context is available (for full opts support)
18
+ if (ctx.updateJobData) {
19
+ return toPublicJob({
20
+ job,
21
+ name,
22
+ getState: (jid) => ctx.getJobState(jid),
23
+ remove: (jid) => ctx.removeAsync(jid),
24
+ retry: (jid) => ctx.retryJob(jid),
25
+ getChildrenValues: (jid) => ctx.getChildrenValues(jid),
26
+ updateData: ctx.updateJobData,
27
+ promote: ctx.promoteJob,
28
+ changeDelay: ctx.changeJobDelay,
29
+ changePriority: ctx.changeJobPriority,
30
+ extendLock: ctx.extendJobLock,
31
+ clearLogs: ctx.clearJobLogs,
32
+ getDependencies: ctx.getJobDependencies,
33
+ getDependenciesCount: ctx.getJobDependenciesCount,
34
+ });
35
+ }
36
+ // Fallback to simple job
37
+ return createSimpleJob(String(job.id), name, job.data, job.createdAt, {
38
+ queueName: ctx.name,
39
+ getJobState: ctx.getJobState,
40
+ removeAsync: ctx.removeAsync,
41
+ retryJob: ctx.retryJob,
42
+ getChildrenValues: ctx.getChildrenValues,
43
+ });
44
+ }
45
+ const response = await ctx.tcp.send({ cmd: 'GetJob', id });
46
+ if (!response.ok || !response.job)
47
+ return null;
48
+ const j = response.job;
49
+ const name = j.data?.name ?? 'unknown';
50
+ const result = createSimpleJob(j.id, name, j.data, Date.now(), {
51
+ queueName: ctx.name,
52
+ getJobState: ctx.getJobState,
53
+ removeAsync: ctx.removeAsync,
54
+ retryJob: ctx.retryJob,
55
+ getChildrenValues: ctx.getChildrenValues,
56
+ });
57
+ if (j.progress !== undefined)
58
+ result.progress = j.progress;
59
+ return result;
60
+ }
61
+ /** Get job state by ID */
62
+ export async function getJobState(ctx, id) {
63
+ if (ctx.embedded) {
64
+ const state = await getSharedManager().getJobState(jobId(id));
65
+ return mapState(state);
66
+ }
67
+ const response = await ctx.tcp.send({ cmd: 'GetState', id });
68
+ if (!response.ok)
69
+ return 'unknown';
70
+ return mapState(response.state);
71
+ }
72
+ function mapState(state) {
73
+ switch (state) {
74
+ case 'waiting':
75
+ case 'delayed':
76
+ case 'active':
77
+ case 'completed':
78
+ case 'failed':
79
+ return state;
80
+ case 'processing':
81
+ return 'active';
82
+ case 'dlq':
83
+ return 'failed';
84
+ default:
85
+ return 'unknown';
86
+ }
87
+ }
88
+ /** Get children values for a job */
89
+ export async function getChildrenValues(ctx, id) {
90
+ if (ctx.embedded) {
91
+ return getSharedManager().getChildrenValues(jobId(id));
92
+ }
93
+ const response = await ctx.tcp.send({ cmd: 'GetChildrenValues', id });
94
+ if (!response.ok)
95
+ return {};
96
+ return (response.values ?? {});
97
+ }
98
+ /** Get jobs with filtering (sync, embedded only) */
99
+ export function getJobs(ctx, options = {}) {
100
+ if (!ctx.embedded)
101
+ return [];
102
+ const manager = getSharedManager();
103
+ const jobs = manager.getJobs(ctx.name, {
104
+ state: options.state,
105
+ start: options.start ?? 0,
106
+ end: options.end ?? 100,
107
+ });
108
+ return jobs.map((j) => {
109
+ const name = j.data?.name ?? 'unknown';
110
+ return createSimpleJob(String(j.id), name, j.data, j.createdAt, {
111
+ queueName: ctx.name,
112
+ getJobState: ctx.getJobState,
113
+ removeAsync: ctx.removeAsync,
114
+ retryJob: ctx.retryJob,
115
+ getChildrenValues: ctx.getChildrenValues,
116
+ });
117
+ });
118
+ }
119
+ /** Get jobs with filtering (async, works with TCP) */
120
+ export async function getJobsAsync(ctx, options = {}) {
121
+ if (ctx.embedded)
122
+ return getJobs(ctx, options);
123
+ // Handle end=-1 as "get all"
124
+ const end = options.end !== undefined && options.end >= 0 ? options.end : 1000;
125
+ const start = options.start ?? 0;
126
+ const response = await ctx.tcp.send({
127
+ cmd: 'GetJobs',
128
+ queue: ctx.name,
129
+ state: options.state,
130
+ offset: start,
131
+ limit: end - start,
132
+ });
133
+ if (!response.ok || !Array.isArray(response.jobs)) {
134
+ return [];
135
+ }
136
+ const jobs = response.jobs;
137
+ const now = Date.now();
138
+ return jobs.map((j) => {
139
+ const name = j.data?.name ?? 'unknown';
140
+ const result = createSimpleJob(j.id, name, j.data, j.createdAt ?? now, {
141
+ queueName: ctx.name,
142
+ getJobState: ctx.getJobState,
143
+ removeAsync: ctx.removeAsync,
144
+ retryJob: ctx.retryJob,
145
+ getChildrenValues: ctx.getChildrenValues,
146
+ });
147
+ if (j.progress !== undefined)
148
+ result.progress = j.progress;
149
+ if (j.priority !== undefined)
150
+ result.priority = j.priority;
151
+ if (j.attempts !== undefined)
152
+ result.attemptsMade = j.attempts;
153
+ return result;
154
+ });
155
+ }
156
+ /** Get waiting jobs */
157
+ export function getWaiting(ctx, start = 0, end = 100) {
158
+ return getJobs(ctx, { state: 'waiting', start, end });
159
+ }
160
+ export async function getWaitingAsync(ctx, start = 0, end = 100) {
161
+ return getJobsAsync(ctx, { state: 'waiting', start, end });
162
+ }
163
+ /** Get delayed jobs */
164
+ export function getDelayed(ctx, start = 0, end = 100) {
165
+ return getJobs(ctx, { state: 'delayed', start, end });
166
+ }
167
+ export async function getDelayedAsync(ctx, start = 0, end = 100) {
168
+ return getJobsAsync(ctx, { state: 'delayed', start, end });
169
+ }
170
+ /** Get active jobs */
171
+ export function getActive(ctx, start = 0, end = 100) {
172
+ return getJobs(ctx, { state: 'active', start, end });
173
+ }
174
+ export async function getActiveAsync(ctx, start = 0, end = 100) {
175
+ return getJobsAsync(ctx, { state: 'active', start, end });
176
+ }
177
+ /** Get completed jobs */
178
+ export function getCompleted(ctx, start = 0, end = 100) {
179
+ return getJobs(ctx, { state: 'completed', start, end });
180
+ }
181
+ export async function getCompletedAsync(ctx, start = 0, end = 100) {
182
+ return getJobsAsync(ctx, { state: 'completed', start, end });
183
+ }
184
+ /** Get failed jobs */
185
+ export function getFailed(ctx, start = 0, end = 100) {
186
+ return getJobs(ctx, { state: 'failed', start, end });
187
+ }
188
+ export async function getFailedAsync(ctx, start = 0, end = 100) {
189
+ return getJobsAsync(ctx, { state: 'failed', start, end });
190
+ }
191
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/client/queue/operations/query.ts"],"names":[],"mappings":"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"}