@shrub/queue 0.5.55 → 0.5.58
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.d.ts +7 -6
- package/dist/queue.js +2 -2
- package/package.json +4 -4
package/dist/queue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IEvent } from "@sprig/event-emitter";
|
|
2
|
-
export declare type
|
|
2
|
+
export declare type WorkerCallback<TData = any> = (job: IJob<TData>) => Promise<void | any>;
|
|
3
3
|
/** Defines the API for a queue. */
|
|
4
4
|
export interface IQueue {
|
|
5
5
|
/** An event that is raised when a job has become active. */
|
|
@@ -14,8 +14,8 @@ export interface IQueue {
|
|
|
14
14
|
add<TData = any>(options: IJobOptions<TData>): Promise<IJob<TData>>;
|
|
15
15
|
/** Closes the queue and all workers associated with the queue. */
|
|
16
16
|
close(): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/** Creates a new worker for handling/processing jobs. */
|
|
18
|
+
createWorker<TData = any>(optionsOrCallback: IWorkerOptions<TData> | WorkerCallback<TData>): IWorker;
|
|
19
19
|
}
|
|
20
20
|
/** Responsible for providing access to a queue. */
|
|
21
21
|
export interface IQueueAdapter {
|
|
@@ -29,6 +29,7 @@ export interface IJob<TData = any> {
|
|
|
29
29
|
readonly data: TData;
|
|
30
30
|
readonly progress: number | object;
|
|
31
31
|
updateProgress(progress: number | object): Promise<void>;
|
|
32
|
+
waitUntilFinished(): Promise<any>;
|
|
32
33
|
}
|
|
33
34
|
/** Defines options for creating jobs. */
|
|
34
35
|
export interface IJobOptions<TData = any> {
|
|
@@ -49,9 +50,9 @@ export interface IJobRepeatOptions {
|
|
|
49
50
|
readonly immediate?: boolean;
|
|
50
51
|
}
|
|
51
52
|
/** Defines options for registering a process for handling jobs. */
|
|
52
|
-
export interface
|
|
53
|
+
export interface IWorkerOptions<TData = any> {
|
|
53
54
|
/** A callback for handling jobs. */
|
|
54
|
-
readonly callback:
|
|
55
|
+
readonly callback: WorkerCallback<TData>;
|
|
55
56
|
/** Optionally specifies the maximum number of parallel jobs that can be processed at once; if not specified, the underlying queue's default will be used. */
|
|
56
57
|
readonly concurrency?: number;
|
|
57
58
|
}
|
|
@@ -82,5 +83,5 @@ export declare abstract class QueueAdapter implements IQueueAdapter {
|
|
|
82
83
|
addQueueNamePatterns(queueNamePatterns: string[]): void;
|
|
83
84
|
getQueue(name: string): IQueue | undefined;
|
|
84
85
|
protected abstract getQueueInstance(name: string): IQueue;
|
|
85
|
-
protected
|
|
86
|
+
protected getWorkerOptions(optionsOrCallback: IWorkerOptions | WorkerCallback): IWorkerOptions;
|
|
86
87
|
}
|
package/dist/queue.js
CHANGED
|
@@ -13,9 +13,9 @@ class QueueAdapter {
|
|
|
13
13
|
getQueue(name) {
|
|
14
14
|
return this.whitelist.isQueueSupported(name) ? this.getQueueInstance(name) : undefined;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
getWorkerOptions(optionsOrCallback) {
|
|
17
17
|
return typeof optionsOrCallback === "function" ? { callback: optionsOrCallback } : optionsOrCallback;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.QueueAdapter = QueueAdapter;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQW9EO0FBMkZwRCxzSEFBc0g7QUFDdEgsTUFBc0IsWUFBWTtJQUc5QixZQUFZLGlCQUEyQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUNBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsaUJBQTJCO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0YsQ0FBQztJQUlTLGdCQUFnQixDQUFDLGlCQUFrRDtRQUN6RSxPQUFPLE9BQU8saUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RyxDQUFDO0NBQ0o7QUFwQkQsb0NBb0JDIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrub/queue",
|
|
3
3
|
"description": "Provides a basic abstraction and support for job/task queues.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.58",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"test": "jest"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@shrub/core": "0.5.
|
|
29
|
-
"@shrub/logging": "0.5.
|
|
28
|
+
"@shrub/core": "0.5.58",
|
|
29
|
+
"@shrub/logging": "0.5.58",
|
|
30
30
|
"@sprig/event-emitter": "^0.2.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "4af976e3b4276487f8661ae89d8de06aa4757481"
|
|
33
33
|
}
|