@holo-js/queue-redis 0.2.6 → 0.3.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/index.d.ts +6 -74
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,78 +1,10 @@
|
|
|
1
1
|
import { Job, ConnectionOptions } from 'bullmq';
|
|
2
2
|
import Redis from 'ioredis';
|
|
3
|
+
import { QueueDriverFactory as QueueDriverFactory$1, NormalizedQueueRedisConnectionConfig, QueueDriverFactoryContext, QueueAsyncDriver, QueueJsonValue, QueueJobEnvelope, QueueDriverDispatchResult, QueueReservedJob, QueueReleaseOptions } from '@holo-js/queue';
|
|
4
|
+
export { NormalizedQueueRedisConnectionConfig, QueueAsyncDriver, QueueDriverDispatchResult, QueueDriverFactoryContext, QueueJobEnvelope, QueueJsonValue, QueueReleaseOptions, QueueReservedJob } from '@holo-js/queue';
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
interface QueueJobEnvelope<TPayload extends QueueJsonValue = QueueJsonValue> {
|
|
8
|
-
readonly id: string;
|
|
9
|
-
readonly name: string;
|
|
10
|
-
readonly connection: string;
|
|
11
|
-
readonly queue: string;
|
|
12
|
-
readonly payload: TPayload;
|
|
13
|
-
readonly attempts: number;
|
|
14
|
-
readonly maxAttempts: number;
|
|
15
|
-
readonly createdAt: number;
|
|
16
|
-
readonly availableAt?: number;
|
|
17
|
-
}
|
|
18
|
-
interface QueueDriverDispatchResult<TResult = unknown> {
|
|
19
|
-
readonly jobId: string;
|
|
20
|
-
readonly synchronous: boolean;
|
|
21
|
-
readonly result?: TResult;
|
|
22
|
-
}
|
|
23
|
-
interface QueueReservedJob<TPayload extends QueueJsonValue = QueueJsonValue> {
|
|
24
|
-
readonly reservationId: string;
|
|
25
|
-
readonly reservedAt: number;
|
|
26
|
-
readonly envelope: QueueJobEnvelope<TPayload>;
|
|
27
|
-
}
|
|
28
|
-
interface QueueReleaseOptions {
|
|
29
|
-
readonly delaySeconds?: number;
|
|
30
|
-
}
|
|
31
|
-
interface QueueDriverFactoryContext {
|
|
32
|
-
execute<TPayload extends QueueJsonValue = QueueJsonValue, TResult = unknown>(job: QueueJobEnvelope<TPayload>): Promise<TResult>;
|
|
33
|
-
}
|
|
34
|
-
interface QueueAsyncDriver {
|
|
35
|
-
readonly name: string;
|
|
36
|
-
readonly driver: 'redis';
|
|
37
|
-
readonly mode: 'async';
|
|
38
|
-
dispatch<TPayload extends QueueJsonValue = QueueJsonValue, TResult = unknown>(job: QueueJobEnvelope<TPayload>): Promise<QueueDriverDispatchResult<TResult>>;
|
|
39
|
-
reserve<TPayload extends QueueJsonValue = QueueJsonValue>(input: {
|
|
40
|
-
readonly queueNames?: readonly string[];
|
|
41
|
-
readonly workerId?: string;
|
|
42
|
-
readonly timeout?: number;
|
|
43
|
-
}): Promise<QueueReservedJob<TPayload> | null>;
|
|
44
|
-
acknowledge(job: QueueReservedJob): Promise<void>;
|
|
45
|
-
release(job: QueueReservedJob, options?: QueueReleaseOptions): Promise<void>;
|
|
46
|
-
delete(job: QueueReservedJob): Promise<void>;
|
|
47
|
-
clear(input?: {
|
|
48
|
-
readonly queueNames?: readonly string[];
|
|
49
|
-
}): Promise<number>;
|
|
50
|
-
close(): Promise<void>;
|
|
51
|
-
}
|
|
52
|
-
interface NormalizedQueueRedisConnectionConfig {
|
|
53
|
-
readonly name: string;
|
|
54
|
-
readonly driver: 'redis';
|
|
55
|
-
readonly connection: string;
|
|
56
|
-
readonly queue: string;
|
|
57
|
-
readonly retryAfter: number;
|
|
58
|
-
readonly blockFor: number;
|
|
59
|
-
readonly redis: {
|
|
60
|
-
readonly url?: string;
|
|
61
|
-
readonly clusters?: readonly {
|
|
62
|
-
readonly url?: string;
|
|
63
|
-
readonly host: string;
|
|
64
|
-
readonly port: number;
|
|
65
|
-
}[];
|
|
66
|
-
readonly host: string;
|
|
67
|
-
readonly port: number;
|
|
68
|
-
readonly password?: string;
|
|
69
|
-
readonly username?: string;
|
|
70
|
-
readonly db: number;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
interface QueueDriverFactory<TConfig extends NormalizedQueueRedisConnectionConfig = NormalizedQueueRedisConnectionConfig> {
|
|
74
|
-
readonly driver: TConfig['driver'];
|
|
75
|
-
create(connection: TConfig, context: QueueDriverFactoryContext): QueueAsyncDriver;
|
|
6
|
+
interface QueueDriverFactory extends QueueDriverFactory$1<NormalizedQueueRedisConnectionConfig> {
|
|
7
|
+
create(connection: NormalizedQueueRedisConnectionConfig, context: QueueDriverFactoryContext): QueueAsyncDriver;
|
|
76
8
|
}
|
|
77
9
|
type RedisQueuedEnvelope = QueueJobEnvelope<QueueJsonValue>;
|
|
78
10
|
type BullJobInstance = Job<RedisQueuedEnvelope, unknown, string>;
|
|
@@ -132,7 +64,7 @@ declare class RedisQueueDriver implements QueueAsyncDriver {
|
|
|
132
64
|
}): Promise<number>;
|
|
133
65
|
close(): Promise<void>;
|
|
134
66
|
}
|
|
135
|
-
declare const redisQueueDriverFactory: QueueDriverFactory
|
|
67
|
+
declare const redisQueueDriverFactory: QueueDriverFactory;
|
|
136
68
|
declare const redisQueueDriverInternals: {
|
|
137
69
|
isQueueEnvelope: typeof isQueueEnvelope;
|
|
138
70
|
normalizeRedisErrorMessage: typeof normalizeRedisErrorMessage;
|
|
@@ -145,4 +77,4 @@ declare const redisQueueDriverInternals: {
|
|
|
145
77
|
wrapRedisError: typeof wrapRedisError;
|
|
146
78
|
};
|
|
147
79
|
|
|
148
|
-
export { type
|
|
80
|
+
export { type QueueDriverFactory, RedisQueueDriver, RedisQueueDriverError, redisQueueDriverFactory, redisQueueDriverInternals };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holo-js/queue-redis",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Holo-JS Framework - Redis queue driver",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"test": "vitest --run"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@holo-js/queue": "^0.
|
|
26
|
+
"@holo-js/queue": "^0.3.0"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"bullmq": "^5.71.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"tslib": "^2.8.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@holo-js/queue": "^0.
|
|
34
|
+
"@holo-js/queue": "^0.3.0",
|
|
35
35
|
"@types/node": "^22.10.2",
|
|
36
36
|
"tsup": "^8.3.5",
|
|
37
37
|
"typescript": "^5.7.2",
|