@alanszp/queue 10.0.3 → 10.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/queue/queue.d.ts +4 -1
- package/dist/queue/queue.js +15 -0
- package/dist/queue/queue.js.map +1 -1
- package/package.json +2 -2
- package/src/queue/queue.ts +21 -2
package/dist/queue/queue.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Job, JobsOptions } from "bullmq";
|
|
1
|
+
import { Job, JobsOptions, RepeatOptions } from "bullmq";
|
|
2
2
|
import { ListResult } from "@alanszp/core";
|
|
3
3
|
import { SharedContext } from "@alanszp/shared-context";
|
|
4
4
|
import { ConnectionOptions, JobData, JobReturnValue, JobTypeEnum, QueueOptions } from "../types";
|
|
@@ -9,6 +9,9 @@ export declare class Queue<Data = JobData, ReturnValue = JobReturnValue> {
|
|
|
9
9
|
constructor(connection: ConnectionOptions, name: string, prefix: string, getSharedContext: () => SharedContext, queueOptions?: QueueOptions);
|
|
10
10
|
getName(): string;
|
|
11
11
|
publishJob(job: Data, opts?: JobsOptions): Promise<Job<Data, ReturnValue>>;
|
|
12
|
+
publishRepeatableJob(job: Data, repeatOptions: RepeatOptions, jobId: string): Promise<Job<Data, ReturnValue>>;
|
|
13
|
+
removeRepeatableJobByKey(repeatJobKey: string): Promise<boolean>;
|
|
14
|
+
removeRepeatableJobByConfig(repeatOptions: RepeatOptions, jobId: string): Promise<boolean>;
|
|
12
15
|
publishBulkJob(jobDatas: Data[]): Promise<Job<Data, ReturnValue>[]>;
|
|
13
16
|
publishBulkJobWithOptions(jobDefinitions: {
|
|
14
17
|
jobData: Data;
|
package/dist/queue/queue.js
CHANGED
|
@@ -51,6 +51,21 @@ class Queue {
|
|
|
51
51
|
return this.queue.add(this.name, Object.assign(Object.assign({}, job), { lid, lch }), opts);
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
+
publishRepeatableJob(job, repeatOptions, jobId) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return this.queue.add(this.name, job, Object.assign(Object.assign({}, repeatOptions), { jobId }));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
removeRepeatableJobByKey(repeatJobKey) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
return this.queue.removeRepeatableByKey(repeatJobKey);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
removeRepeatableJobByConfig(repeatOptions, jobId) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
return this.queue.removeRepeatable(this.name, repeatOptions, jobId);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
54
69
|
publishBulkJob(jobDatas) {
|
|
55
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
71
|
const jobs = jobDatas.map((data) => ({ name: this.name, data }));
|
package/dist/queue/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/queue",
|
|
3
|
-
"version": "10.0
|
|
3
|
+
"version": "10.1.0",
|
|
4
4
|
"description": "Workers and queues",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"ioredis": "^5.2.3",
|
|
37
37
|
"lodash": "^4.17.21"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "90cfaf6efee356f6e3f17cbc156638aaecd5e0dc"
|
|
40
40
|
}
|
package/src/queue/queue.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { merge } from "lodash";
|
|
2
|
-
import { Job, JobsOptions } from "bullmq";
|
|
1
|
+
import { merge, repeat } from "lodash";
|
|
2
|
+
import { Job, JobsOptions, RepeatOptions } from "bullmq";
|
|
3
3
|
import { ListResult } from "@alanszp/core";
|
|
4
4
|
import { SharedContext } from "@alanszp/shared-context";
|
|
5
5
|
import {
|
|
@@ -78,6 +78,25 @@ export class Queue<Data = JobData, ReturnValue = JobReturnValue> {
|
|
|
78
78
|
return this.queue.add(this.name, { ...job, lid, lch }, opts);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
async publishRepeatableJob(
|
|
82
|
+
job: Data,
|
|
83
|
+
repeatOptions: RepeatOptions,
|
|
84
|
+
jobId: string
|
|
85
|
+
): Promise<Job<Data, ReturnValue>> {
|
|
86
|
+
return this.queue.add(this.name, job, { ...repeatOptions, jobId });
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async removeRepeatableJobByKey(repeatJobKey: string): Promise<boolean> {
|
|
90
|
+
return this.queue.removeRepeatableByKey(repeatJobKey);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
async removeRepeatableJobByConfig(
|
|
94
|
+
repeatOptions: RepeatOptions,
|
|
95
|
+
jobId: string
|
|
96
|
+
): Promise<boolean> {
|
|
97
|
+
return this.queue.removeRepeatable(this.name, repeatOptions, jobId);
|
|
98
|
+
}
|
|
99
|
+
|
|
81
100
|
async publishBulkJob(jobDatas: Data[]): Promise<Job<Data, ReturnValue>[]> {
|
|
82
101
|
const jobs = jobDatas.map((data) => ({ name: this.name, data }));
|
|
83
102
|
return this.queue.addBulk(jobs);
|