flashq 0.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/README.md +283 -0
- package/dist/client/advanced.d.ts +174 -0
- package/dist/client/advanced.d.ts.map +1 -0
- package/dist/client/advanced.js +248 -0
- package/dist/client/advanced.js.map +1 -0
- package/dist/client/connection.d.ts +103 -0
- package/dist/client/connection.d.ts.map +1 -0
- package/dist/client/connection.js +570 -0
- package/dist/client/connection.js.map +1 -0
- package/dist/client/core.d.ts +119 -0
- package/dist/client/core.d.ts.map +1 -0
- package/dist/client/core.js +257 -0
- package/dist/client/core.js.map +1 -0
- package/dist/client/cron.d.ts +59 -0
- package/dist/client/cron.d.ts.map +1 -0
- package/dist/client/cron.js +82 -0
- package/dist/client/cron.js.map +1 -0
- package/dist/client/dlq.d.ts +52 -0
- package/dist/client/dlq.d.ts.map +1 -0
- package/dist/client/dlq.js +73 -0
- package/dist/client/dlq.js.map +1 -0
- package/dist/client/flows.d.ts +49 -0
- package/dist/client/flows.d.ts.map +1 -0
- package/dist/client/flows.js +67 -0
- package/dist/client/flows.js.map +1 -0
- package/dist/client/index.d.ts +644 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +829 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/jobs.d.ts +183 -0
- package/dist/client/jobs.d.ts.map +1 -0
- package/dist/client/jobs.js +272 -0
- package/dist/client/jobs.js.map +1 -0
- package/dist/client/kv.d.ts +63 -0
- package/dist/client/kv.d.ts.map +1 -0
- package/dist/client/kv.js +131 -0
- package/dist/client/kv.js.map +1 -0
- package/dist/client/metrics.d.ts +34 -0
- package/dist/client/metrics.d.ts.map +1 -0
- package/dist/client/metrics.js +49 -0
- package/dist/client/metrics.js.map +1 -0
- package/dist/client/pubsub.d.ts +42 -0
- package/dist/client/pubsub.d.ts.map +1 -0
- package/dist/client/pubsub.js +92 -0
- package/dist/client/pubsub.js.map +1 -0
- package/dist/client/queue.d.ts +111 -0
- package/dist/client/queue.d.ts.map +1 -0
- package/dist/client/queue.js +160 -0
- package/dist/client/queue.js.map +1 -0
- package/dist/client/types.d.ts +23 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +3 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +23 -0
- package/dist/client.js.map +1 -0
- package/dist/events.d.ts +184 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +340 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/queue.d.ts +104 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +139 -0
- package/dist/queue.js.map +1 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/worker.d.ts +88 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +296 -0
- package/dist/worker.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Job management operations
|
|
3
|
+
*/
|
|
4
|
+
import type { IFlashQClient, JobState, JobWithState, JobLogEntry } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Get a job with its current state.
|
|
7
|
+
*
|
|
8
|
+
* @param client - FlashQ client instance
|
|
9
|
+
* @param jobId - Job ID
|
|
10
|
+
* @returns Job with state, or null if not found
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const result = await client.getJob(123);
|
|
15
|
+
* if (result) {
|
|
16
|
+
* console.log(`Job ${result.job.id} is ${result.state}`);
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function getJob(client: IFlashQClient, jobId: number): Promise<JobWithState | null>;
|
|
21
|
+
/**
|
|
22
|
+
* Get job state only.
|
|
23
|
+
*
|
|
24
|
+
* @param client - FlashQ client instance
|
|
25
|
+
* @param jobId - Job ID
|
|
26
|
+
* @returns Job state or null if not found
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const state = await client.getState(123);
|
|
31
|
+
* console.log(`Job state: ${state}`);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function getState(client: IFlashQClient, jobId: number): Promise<JobState | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Get job result.
|
|
37
|
+
*
|
|
38
|
+
* @param client - FlashQ client instance
|
|
39
|
+
* @param jobId - Job ID
|
|
40
|
+
* @returns Job result or null
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const result = await client.getResult<{ sent: boolean }>(123);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function getResult<T = unknown>(client: IFlashQClient, jobId: number): Promise<T | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Wait for a job to complete and return its result.
|
|
50
|
+
* Useful for synchronous workflows.
|
|
51
|
+
*
|
|
52
|
+
* @param client - FlashQ client instance
|
|
53
|
+
* @param jobId - Job ID
|
|
54
|
+
* @param timeout - Timeout in ms (default: 30000)
|
|
55
|
+
* @returns Job result or null
|
|
56
|
+
* @throws Error if job fails or times out
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const job = await client.push('process', { data: 'value' });
|
|
61
|
+
* const result = await client.finished(job.id);
|
|
62
|
+
* console.log('Result:', result);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function finished<T = unknown>(client: IFlashQClient, jobId: number, timeout?: number): Promise<T | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Get a job by its custom ID.
|
|
68
|
+
* Custom IDs are set using the `jobId` option when pushing.
|
|
69
|
+
*
|
|
70
|
+
* @param client - FlashQ client instance
|
|
71
|
+
* @param customId - Custom job ID
|
|
72
|
+
* @returns Job with state or null
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Push with custom ID
|
|
77
|
+
* await client.push('process', { orderId: 123 }, { jobId: 'order-123' });
|
|
78
|
+
*
|
|
79
|
+
* // Retrieve by custom ID
|
|
80
|
+
* const result = await client.getJobByCustomId('order-123');
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function getJobByCustomId(client: IFlashQClient, customId: string): Promise<JobWithState | null>;
|
|
84
|
+
/**
|
|
85
|
+
* Get multiple jobs by their IDs in a single call.
|
|
86
|
+
*
|
|
87
|
+
* @param client - FlashQ client instance
|
|
88
|
+
* @param jobIds - Array of job IDs
|
|
89
|
+
* @returns Array of jobs with states
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const jobs = await client.getJobsBatch([1, 2, 3, 4, 5]);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function getJobsBatch(client: IFlashQClient, jobIds: number[]): Promise<JobWithState[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Cancel a pending job.
|
|
99
|
+
*
|
|
100
|
+
* @param client - FlashQ client instance
|
|
101
|
+
* @param jobId - Job ID
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* await client.cancel(job.id);
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare function cancel(client: IFlashQClient, jobId: number): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Update job progress.
|
|
111
|
+
*
|
|
112
|
+
* @param client - FlashQ client instance
|
|
113
|
+
* @param jobId - Job ID
|
|
114
|
+
* @param progress - Progress value (0-100)
|
|
115
|
+
* @param message - Optional progress message
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* await client.progress(job.id, 50, 'Halfway done');
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function progress(client: IFlashQClient, jobId: number, progressValue: number, message?: string): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Get job progress.
|
|
125
|
+
*
|
|
126
|
+
* @param client - FlashQ client instance
|
|
127
|
+
* @param jobId - Job ID
|
|
128
|
+
* @returns Progress value and message
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* const { progress, message } = await client.getProgress(job.id);
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export declare function getProgress(client: IFlashQClient, jobId: number): Promise<{
|
|
136
|
+
progress: number;
|
|
137
|
+
message?: string;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Add a log entry to a job.
|
|
141
|
+
*
|
|
142
|
+
* @param client - FlashQ client instance
|
|
143
|
+
* @param jobId - Job ID
|
|
144
|
+
* @param message - Log message
|
|
145
|
+
* @param level - Log level (info, warn, error)
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* await client.log(job.id, 'Processing step 1', 'info');
|
|
150
|
+
* await client.log(job.id, 'Warning: low memory', 'warn');
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
export declare function log(client: IFlashQClient, jobId: number, message: string, level?: 'info' | 'warn' | 'error'): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Get log entries for a job.
|
|
156
|
+
*
|
|
157
|
+
* @param client - FlashQ client instance
|
|
158
|
+
* @param jobId - Job ID
|
|
159
|
+
* @returns Array of log entries
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const logs = await client.getLogs(job.id);
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
export declare function getLogs(client: IFlashQClient, jobId: number): Promise<JobLogEntry[]>;
|
|
167
|
+
/**
|
|
168
|
+
* Send a heartbeat to prevent job from being marked as stalled.
|
|
169
|
+
*
|
|
170
|
+
* @param client - FlashQ client instance
|
|
171
|
+
* @param jobId - Job ID
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* // In a long-running job processor
|
|
176
|
+
* for (const item of largeDataset) {
|
|
177
|
+
* await processItem(item);
|
|
178
|
+
* await client.heartbeat(job.id);
|
|
179
|
+
* }
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
export declare function heartbeat(client: IFlashQClient, jobId: number): Promise<void>;
|
|
183
|
+
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/client/jobs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAO,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAW9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAU1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAUnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAW9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CASzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAajD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAM,GAAG,MAAM,GAAG,OAAgB,GACxC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getJob = getJob;
|
|
4
|
+
exports.getState = getState;
|
|
5
|
+
exports.getResult = getResult;
|
|
6
|
+
exports.finished = finished;
|
|
7
|
+
exports.getJobByCustomId = getJobByCustomId;
|
|
8
|
+
exports.getJobsBatch = getJobsBatch;
|
|
9
|
+
exports.cancel = cancel;
|
|
10
|
+
exports.progress = progress;
|
|
11
|
+
exports.getProgress = getProgress;
|
|
12
|
+
exports.log = log;
|
|
13
|
+
exports.getLogs = getLogs;
|
|
14
|
+
exports.heartbeat = heartbeat;
|
|
15
|
+
/**
|
|
16
|
+
* Get a job with its current state.
|
|
17
|
+
*
|
|
18
|
+
* @param client - FlashQ client instance
|
|
19
|
+
* @param jobId - Job ID
|
|
20
|
+
* @returns Job with state, or null if not found
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const result = await client.getJob(123);
|
|
25
|
+
* if (result) {
|
|
26
|
+
* console.log(`Job ${result.job.id} is ${result.state}`);
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
async function getJob(client, jobId) {
|
|
31
|
+
const response = await client.send({
|
|
32
|
+
cmd: 'GETJOB',
|
|
33
|
+
id: jobId,
|
|
34
|
+
});
|
|
35
|
+
if (!response.job)
|
|
36
|
+
return null;
|
|
37
|
+
return { job: response.job, state: response.state };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get job state only.
|
|
41
|
+
*
|
|
42
|
+
* @param client - FlashQ client instance
|
|
43
|
+
* @param jobId - Job ID
|
|
44
|
+
* @returns Job state or null if not found
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const state = await client.getState(123);
|
|
49
|
+
* console.log(`Job state: ${state}`);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
async function getState(client, jobId) {
|
|
53
|
+
const response = await client.send({
|
|
54
|
+
cmd: 'GETSTATE',
|
|
55
|
+
id: jobId,
|
|
56
|
+
});
|
|
57
|
+
return response.state;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get job result.
|
|
61
|
+
*
|
|
62
|
+
* @param client - FlashQ client instance
|
|
63
|
+
* @param jobId - Job ID
|
|
64
|
+
* @returns Job result or null
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const result = await client.getResult<{ sent: boolean }>(123);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
async function getResult(client, jobId) {
|
|
72
|
+
const response = await client.send({
|
|
73
|
+
cmd: 'GETRESULT',
|
|
74
|
+
id: jobId,
|
|
75
|
+
});
|
|
76
|
+
return response.result;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Wait for a job to complete and return its result.
|
|
80
|
+
* Useful for synchronous workflows.
|
|
81
|
+
*
|
|
82
|
+
* @param client - FlashQ client instance
|
|
83
|
+
* @param jobId - Job ID
|
|
84
|
+
* @param timeout - Timeout in ms (default: 30000)
|
|
85
|
+
* @returns Job result or null
|
|
86
|
+
* @throws Error if job fails or times out
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const job = await client.push('process', { data: 'value' });
|
|
91
|
+
* const result = await client.finished(job.id);
|
|
92
|
+
* console.log('Result:', result);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
async function finished(client, jobId, timeout) {
|
|
96
|
+
const waitTimeout = timeout ?? 30000;
|
|
97
|
+
const requestTimeout = waitTimeout + 5000;
|
|
98
|
+
const response = await client.send({
|
|
99
|
+
cmd: 'WAITJOB',
|
|
100
|
+
id: jobId,
|
|
101
|
+
timeout: waitTimeout,
|
|
102
|
+
}, requestTimeout);
|
|
103
|
+
if (response.error) {
|
|
104
|
+
throw new Error(response.error);
|
|
105
|
+
}
|
|
106
|
+
return response.result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get a job by its custom ID.
|
|
110
|
+
* Custom IDs are set using the `jobId` option when pushing.
|
|
111
|
+
*
|
|
112
|
+
* @param client - FlashQ client instance
|
|
113
|
+
* @param customId - Custom job ID
|
|
114
|
+
* @returns Job with state or null
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Push with custom ID
|
|
119
|
+
* await client.push('process', { orderId: 123 }, { jobId: 'order-123' });
|
|
120
|
+
*
|
|
121
|
+
* // Retrieve by custom ID
|
|
122
|
+
* const result = await client.getJobByCustomId('order-123');
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
async function getJobByCustomId(client, customId) {
|
|
126
|
+
const response = await client.send({
|
|
127
|
+
cmd: 'GETJOBBYCUSTOMID',
|
|
128
|
+
job_id: customId,
|
|
129
|
+
});
|
|
130
|
+
if (!response.job)
|
|
131
|
+
return null;
|
|
132
|
+
return { job: response.job, state: response.state };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get multiple jobs by their IDs in a single call.
|
|
136
|
+
*
|
|
137
|
+
* @param client - FlashQ client instance
|
|
138
|
+
* @param jobIds - Array of job IDs
|
|
139
|
+
* @returns Array of jobs with states
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const jobs = await client.getJobsBatch([1, 2, 3, 4, 5]);
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
async function getJobsBatch(client, jobIds) {
|
|
147
|
+
const response = await client.send({
|
|
148
|
+
cmd: 'GETJOBSBATCH',
|
|
149
|
+
ids: jobIds,
|
|
150
|
+
});
|
|
151
|
+
return response.jobs.map((j) => ({ job: j.job, state: j.state }));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Cancel a pending job.
|
|
155
|
+
*
|
|
156
|
+
* @param client - FlashQ client instance
|
|
157
|
+
* @param jobId - Job ID
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```typescript
|
|
161
|
+
* await client.cancel(job.id);
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
async function cancel(client, jobId) {
|
|
165
|
+
await client.send({
|
|
166
|
+
cmd: 'CANCEL',
|
|
167
|
+
id: jobId,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Update job progress.
|
|
172
|
+
*
|
|
173
|
+
* @param client - FlashQ client instance
|
|
174
|
+
* @param jobId - Job ID
|
|
175
|
+
* @param progress - Progress value (0-100)
|
|
176
|
+
* @param message - Optional progress message
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* await client.progress(job.id, 50, 'Halfway done');
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
async function progress(client, jobId, progressValue, message) {
|
|
184
|
+
await client.send({
|
|
185
|
+
cmd: 'PROGRESS',
|
|
186
|
+
id: jobId,
|
|
187
|
+
progress: Math.min(100, Math.max(0, progressValue)),
|
|
188
|
+
message,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get job progress.
|
|
193
|
+
*
|
|
194
|
+
* @param client - FlashQ client instance
|
|
195
|
+
* @param jobId - Job ID
|
|
196
|
+
* @returns Progress value and message
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const { progress, message } = await client.getProgress(job.id);
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
async function getProgress(client, jobId) {
|
|
204
|
+
const response = await client.send({
|
|
205
|
+
cmd: 'GETPROGRESS',
|
|
206
|
+
id: jobId,
|
|
207
|
+
});
|
|
208
|
+
return { progress: response.progress.progress, message: response.progress.message };
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Add a log entry to a job.
|
|
212
|
+
*
|
|
213
|
+
* @param client - FlashQ client instance
|
|
214
|
+
* @param jobId - Job ID
|
|
215
|
+
* @param message - Log message
|
|
216
|
+
* @param level - Log level (info, warn, error)
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* await client.log(job.id, 'Processing step 1', 'info');
|
|
221
|
+
* await client.log(job.id, 'Warning: low memory', 'warn');
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
async function log(client, jobId, message, level = 'info') {
|
|
225
|
+
await client.send({
|
|
226
|
+
cmd: 'LOG',
|
|
227
|
+
job_id: jobId,
|
|
228
|
+
message,
|
|
229
|
+
level,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Get log entries for a job.
|
|
234
|
+
*
|
|
235
|
+
* @param client - FlashQ client instance
|
|
236
|
+
* @param jobId - Job ID
|
|
237
|
+
* @returns Array of log entries
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* const logs = await client.getLogs(job.id);
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
async function getLogs(client, jobId) {
|
|
245
|
+
const response = await client.send({
|
|
246
|
+
cmd: 'GETLOGS',
|
|
247
|
+
job_id: jobId,
|
|
248
|
+
});
|
|
249
|
+
return response.logs;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Send a heartbeat to prevent job from being marked as stalled.
|
|
253
|
+
*
|
|
254
|
+
* @param client - FlashQ client instance
|
|
255
|
+
* @param jobId - Job ID
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* ```typescript
|
|
259
|
+
* // In a long-running job processor
|
|
260
|
+
* for (const item of largeDataset) {
|
|
261
|
+
* await processItem(item);
|
|
262
|
+
* await client.heartbeat(job.id);
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
async function heartbeat(client, jobId) {
|
|
267
|
+
await client.send({
|
|
268
|
+
cmd: 'HEARTBEAT',
|
|
269
|
+
job_id: jobId,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/client/jobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key-Value storage operations for FlashQ client
|
|
3
|
+
*
|
|
4
|
+
* Redis-like KV store with TTL support and batch operations.
|
|
5
|
+
*/
|
|
6
|
+
import type { FlashQConnection } from './connection';
|
|
7
|
+
export interface KvSetOptions {
|
|
8
|
+
/** Time-to-live in milliseconds */
|
|
9
|
+
ttl?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface KvEntry {
|
|
12
|
+
key: string;
|
|
13
|
+
value: unknown;
|
|
14
|
+
ttl?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Set a key-value pair.
|
|
18
|
+
*/
|
|
19
|
+
export declare function set(client: FlashQConnection, key: string, value: unknown, options?: KvSetOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Get a value by key.
|
|
22
|
+
*/
|
|
23
|
+
export declare function get<T = unknown>(client: FlashQConnection, key: string): Promise<T | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a key.
|
|
26
|
+
*/
|
|
27
|
+
export declare function del(client: FlashQConnection, key: string): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a key exists.
|
|
30
|
+
*/
|
|
31
|
+
export declare function exists(client: FlashQConnection, key: string): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Set TTL on an existing key.
|
|
34
|
+
*/
|
|
35
|
+
export declare function expire(client: FlashQConnection, key: string, ttl: number): Promise<boolean>;
|
|
36
|
+
/**
|
|
37
|
+
* Get remaining TTL for a key.
|
|
38
|
+
* Returns: milliseconds remaining, -1 if no TTL, -2 if key doesn't exist.
|
|
39
|
+
*/
|
|
40
|
+
export declare function ttl(client: FlashQConnection, key: string): Promise<number>;
|
|
41
|
+
/**
|
|
42
|
+
* Get multiple values by keys (MGET).
|
|
43
|
+
*/
|
|
44
|
+
export declare function mget<T = unknown>(client: FlashQConnection, keys: string[]): Promise<(T | null)[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Set multiple key-value pairs (MSET).
|
|
47
|
+
*/
|
|
48
|
+
export declare function mset(client: FlashQConnection, entries: KvEntry[]): Promise<number>;
|
|
49
|
+
/**
|
|
50
|
+
* List keys matching a pattern.
|
|
51
|
+
* Supports glob patterns: * (any chars), ? (one char)
|
|
52
|
+
*/
|
|
53
|
+
export declare function keys(client: FlashQConnection, pattern?: string): Promise<string[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Increment a numeric value.
|
|
56
|
+
* If key doesn't exist, creates it with value = by.
|
|
57
|
+
*/
|
|
58
|
+
export declare function incr(client: FlashQConnection, key: string, by?: number): Promise<number>;
|
|
59
|
+
/**
|
|
60
|
+
* Decrement a numeric value.
|
|
61
|
+
*/
|
|
62
|
+
export declare function decr(client: FlashQConnection, key: string, by?: number): Promise<number>;
|
|
63
|
+
//# sourceMappingURL=kv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../src/client/kv.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;GAEG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAMnB;AAED;;GAEG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAMlB;AAID;;GAEG;AACH,wBAAsB,MAAM,CAC1B,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;GAGG;AACH,wBAAsB,GAAG,CACvB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAMjB;AAID;;GAEG;AACH,wBAAsB,IAAI,CAAC,CAAC,GAAG,OAAO,EACpC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAMvB;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAID;;;GAGG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAID;;;GAGG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,EAAE,GAAE,MAAU,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,MAAM,EACX,EAAE,GAAE,MAAU,GACb,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.set = set;
|
|
4
|
+
exports.get = get;
|
|
5
|
+
exports.del = del;
|
|
6
|
+
exports.exists = exists;
|
|
7
|
+
exports.expire = expire;
|
|
8
|
+
exports.ttl = ttl;
|
|
9
|
+
exports.mget = mget;
|
|
10
|
+
exports.mset = mset;
|
|
11
|
+
exports.keys = keys;
|
|
12
|
+
exports.incr = incr;
|
|
13
|
+
exports.decr = decr;
|
|
14
|
+
// ============== Core Operations ==============
|
|
15
|
+
/**
|
|
16
|
+
* Set a key-value pair.
|
|
17
|
+
*/
|
|
18
|
+
async function set(client, key, value, options = {}) {
|
|
19
|
+
await client.send({
|
|
20
|
+
cmd: 'KVSET',
|
|
21
|
+
key,
|
|
22
|
+
value,
|
|
23
|
+
ttl: options.ttl,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get a value by key.
|
|
28
|
+
*/
|
|
29
|
+
async function get(client, key) {
|
|
30
|
+
const response = await client.send({
|
|
31
|
+
cmd: 'KVGET',
|
|
32
|
+
key,
|
|
33
|
+
});
|
|
34
|
+
return response.value ?? null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Delete a key.
|
|
38
|
+
*/
|
|
39
|
+
async function del(client, key) {
|
|
40
|
+
const response = await client.send({
|
|
41
|
+
cmd: 'KVDEL',
|
|
42
|
+
key,
|
|
43
|
+
});
|
|
44
|
+
return response.exists;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check if a key exists.
|
|
48
|
+
*/
|
|
49
|
+
async function exists(client, key) {
|
|
50
|
+
const response = await client.send({
|
|
51
|
+
cmd: 'KVEXISTS',
|
|
52
|
+
key,
|
|
53
|
+
});
|
|
54
|
+
return response.exists;
|
|
55
|
+
}
|
|
56
|
+
// ============== TTL Operations ==============
|
|
57
|
+
/**
|
|
58
|
+
* Set TTL on an existing key.
|
|
59
|
+
*/
|
|
60
|
+
async function expire(client, key, ttl) {
|
|
61
|
+
const response = await client.send({
|
|
62
|
+
cmd: 'KVEXPIRE',
|
|
63
|
+
key,
|
|
64
|
+
ttl,
|
|
65
|
+
});
|
|
66
|
+
return response.exists;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get remaining TTL for a key.
|
|
70
|
+
* Returns: milliseconds remaining, -1 if no TTL, -2 if key doesn't exist.
|
|
71
|
+
*/
|
|
72
|
+
async function ttl(client, key) {
|
|
73
|
+
const response = await client.send({
|
|
74
|
+
cmd: 'KVTTL',
|
|
75
|
+
key,
|
|
76
|
+
});
|
|
77
|
+
return response.ttl;
|
|
78
|
+
}
|
|
79
|
+
// ============== Batch Operations ==============
|
|
80
|
+
/**
|
|
81
|
+
* Get multiple values by keys (MGET).
|
|
82
|
+
*/
|
|
83
|
+
async function mget(client, keys) {
|
|
84
|
+
const response = await client.send({
|
|
85
|
+
cmd: 'KVMGET',
|
|
86
|
+
keys,
|
|
87
|
+
});
|
|
88
|
+
return response.values;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set multiple key-value pairs (MSET).
|
|
92
|
+
*/
|
|
93
|
+
async function mset(client, entries) {
|
|
94
|
+
const response = await client.send({
|
|
95
|
+
cmd: 'KVMSET',
|
|
96
|
+
entries,
|
|
97
|
+
});
|
|
98
|
+
return response.count;
|
|
99
|
+
}
|
|
100
|
+
// ============== Pattern Matching ==============
|
|
101
|
+
/**
|
|
102
|
+
* List keys matching a pattern.
|
|
103
|
+
* Supports glob patterns: * (any chars), ? (one char)
|
|
104
|
+
*/
|
|
105
|
+
async function keys(client, pattern) {
|
|
106
|
+
const response = await client.send({
|
|
107
|
+
cmd: 'KVKEYS',
|
|
108
|
+
pattern,
|
|
109
|
+
});
|
|
110
|
+
return response.keys;
|
|
111
|
+
}
|
|
112
|
+
// ============== Atomic Operations ==============
|
|
113
|
+
/**
|
|
114
|
+
* Increment a numeric value.
|
|
115
|
+
* If key doesn't exist, creates it with value = by.
|
|
116
|
+
*/
|
|
117
|
+
async function incr(client, key, by = 1) {
|
|
118
|
+
const response = await client.send({
|
|
119
|
+
cmd: 'KVINCR',
|
|
120
|
+
key,
|
|
121
|
+
by,
|
|
122
|
+
});
|
|
123
|
+
return response.value;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Decrement a numeric value.
|
|
127
|
+
*/
|
|
128
|
+
async function decr(client, key, by = 1) {
|
|
129
|
+
return incr(client, key, -by);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=kv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv.js","sourceRoot":"","sources":["../../src/client/kv.ts"],"names":[],"mappings":"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"}
|