@shrub/queue 0.5.54 → 0.5.57
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 +13 -11
- 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. */
|
|
@@ -11,11 +11,11 @@ export interface IQueue {
|
|
|
11
11
|
/** An event that is raised when a job has reported progress. */
|
|
12
12
|
readonly onJobProgress: IEvent<IJobProgressEventArgs>;
|
|
13
13
|
/** Adds a job to the queue. */
|
|
14
|
-
add(options: IJobOptions): Promise<IJob
|
|
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 {
|
|
@@ -23,18 +23,20 @@ export interface IQueueAdapter {
|
|
|
23
23
|
getQueue(name: string): IQueue | undefined;
|
|
24
24
|
}
|
|
25
25
|
/** Represents a specific instance of a job in the queue. */
|
|
26
|
-
export interface IJob {
|
|
26
|
+
export interface IJob<TData = any> {
|
|
27
27
|
readonly id: string;
|
|
28
|
-
readonly
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly data: TData;
|
|
29
30
|
readonly progress: number | object;
|
|
30
31
|
updateProgress(progress: number | object): Promise<void>;
|
|
32
|
+
waitUntilFinished(): Promise<any>;
|
|
31
33
|
}
|
|
32
34
|
/** Defines options for creating jobs. */
|
|
33
|
-
export interface IJobOptions {
|
|
35
|
+
export interface IJobOptions<TData = any> {
|
|
34
36
|
/** A name for the job. */
|
|
35
37
|
readonly name?: string;
|
|
36
38
|
/** Data to pass to the job. */
|
|
37
|
-
readonly data?:
|
|
39
|
+
readonly data?: TData;
|
|
38
40
|
/** The amount of time (in milliseconds) to delay before the job can be processed; if not defined, the job can be processed immediately. */
|
|
39
41
|
readonly delay?: number;
|
|
40
42
|
/** Options for repeatable jobs. */
|
|
@@ -48,9 +50,9 @@ export interface IJobRepeatOptions {
|
|
|
48
50
|
readonly immediate?: boolean;
|
|
49
51
|
}
|
|
50
52
|
/** Defines options for registering a process for handling jobs. */
|
|
51
|
-
export interface
|
|
53
|
+
export interface IWorkerOptions<TData = any> {
|
|
52
54
|
/** A callback for handling jobs. */
|
|
53
|
-
readonly callback:
|
|
55
|
+
readonly callback: WorkerCallback<TData>;
|
|
54
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. */
|
|
55
57
|
readonly concurrency?: number;
|
|
56
58
|
}
|
|
@@ -81,5 +83,5 @@ export declare abstract class QueueAdapter implements IQueueAdapter {
|
|
|
81
83
|
addQueueNamePatterns(queueNamePatterns: string[]): void;
|
|
82
84
|
getQueue(name: string): IQueue | undefined;
|
|
83
85
|
protected abstract getQueueInstance(name: string): IQueue;
|
|
84
|
-
protected
|
|
86
|
+
protected getWorkerOptions(optionsOrCallback: IWorkerOptions | WorkerCallback): IWorkerOptions;
|
|
85
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.57",
|
|
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.57",
|
|
29
|
+
"@shrub/logging": "0.5.57",
|
|
30
30
|
"@sprig/event-emitter": "^0.2.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "c70ed65dc59fafe57717abae0f3775cdc491e929"
|
|
33
33
|
}
|