@agendajs/postgres-backend 1.0.0 → 2.0.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Pool } from 'pg';
|
|
2
|
-
import type { JobNotification, NotificationChannelConfig } from 'agenda';
|
|
2
|
+
import type { JobNotification, NotificationChannelConfig, JobStateNotification } from 'agenda';
|
|
3
3
|
import { BaseNotificationChannel } from 'agenda';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for PostgresNotificationChannel
|
|
@@ -21,6 +21,8 @@ export declare class PostgresNotificationChannel extends BaseNotificationChannel
|
|
|
21
21
|
private ownPool;
|
|
22
22
|
private connectionString?;
|
|
23
23
|
private listenClient?;
|
|
24
|
+
/** State channel name (derived from main channel name) */
|
|
25
|
+
private get stateChannelName();
|
|
24
26
|
constructor(config?: PostgresNotificationChannelConfig);
|
|
25
27
|
/**
|
|
26
28
|
* Set the pool (used when created by PostgresBackend)
|
|
@@ -30,12 +32,21 @@ export declare class PostgresNotificationChannel extends BaseNotificationChannel
|
|
|
30
32
|
private handleConnectionLoss;
|
|
31
33
|
disconnect(): Promise<void>;
|
|
32
34
|
publish(notification: JobNotification): Promise<void>;
|
|
35
|
+
publishState(notification: JobStateNotification): Promise<void>;
|
|
33
36
|
/**
|
|
34
37
|
* Serialize notification to JSON string for NOTIFY payload
|
|
35
38
|
*/
|
|
36
39
|
private serializeNotification;
|
|
40
|
+
/**
|
|
41
|
+
* Serialize state notification to JSON string for NOTIFY payload
|
|
42
|
+
*/
|
|
43
|
+
private serializeStateNotification;
|
|
37
44
|
/**
|
|
38
45
|
* Parse notification from JSON string received via LISTEN
|
|
39
46
|
*/
|
|
40
47
|
private parseNotification;
|
|
48
|
+
/**
|
|
49
|
+
* Parse state notification from JSON string received via LISTEN
|
|
50
|
+
*/
|
|
51
|
+
private parseStateNotification;
|
|
41
52
|
}
|
|
@@ -13,6 +13,10 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
13
13
|
ownPool = false;
|
|
14
14
|
connectionString;
|
|
15
15
|
listenClient;
|
|
16
|
+
/** State channel name (derived from main channel name) */
|
|
17
|
+
get stateChannelName() {
|
|
18
|
+
return `${this.config.channelName}:state`;
|
|
19
|
+
}
|
|
16
20
|
constructor(config = {}) {
|
|
17
21
|
super(config);
|
|
18
22
|
if (config.pool) {
|
|
@@ -63,6 +67,19 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
63
67
|
this.emit('error', error);
|
|
64
68
|
}
|
|
65
69
|
}
|
|
70
|
+
else if (msg.channel === this.stateChannelName && msg.payload) {
|
|
71
|
+
try {
|
|
72
|
+
const notification = this.parseStateNotification(msg.payload);
|
|
73
|
+
log('received state notification: %O', notification);
|
|
74
|
+
this.notifyStateHandlers(notification).catch(err => {
|
|
75
|
+
this.emit('error', err);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
log('error parsing state notification: %O', error);
|
|
80
|
+
this.emit('error', error);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
66
83
|
});
|
|
67
84
|
// Handle connection errors
|
|
68
85
|
this.listenClient.on('error', error => {
|
|
@@ -73,9 +90,10 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
73
90
|
this.handleConnectionLoss();
|
|
74
91
|
}
|
|
75
92
|
});
|
|
76
|
-
// Start listening
|
|
93
|
+
// Start listening to both channels
|
|
77
94
|
await this.listenClient.query(`LISTEN "${this.config.channelName}"`);
|
|
78
|
-
|
|
95
|
+
await this.listenClient.query(`LISTEN "${this.stateChannelName}"`);
|
|
96
|
+
log('listening on channels: %s, %s', this.config.channelName, this.stateChannelName);
|
|
79
97
|
this.setState('connected');
|
|
80
98
|
}
|
|
81
99
|
catch (error) {
|
|
@@ -105,6 +123,7 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
105
123
|
if (this.listenClient) {
|
|
106
124
|
try {
|
|
107
125
|
await this.listenClient.query(`UNLISTEN "${this.config.channelName}"`);
|
|
126
|
+
await this.listenClient.query(`UNLISTEN "${this.stateChannelName}"`);
|
|
108
127
|
}
|
|
109
128
|
catch {
|
|
110
129
|
// Ignore UNLISTEN errors (connection might be dead)
|
|
@@ -123,6 +142,7 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
123
142
|
this.pool = undefined;
|
|
124
143
|
}
|
|
125
144
|
this.handlers.clear();
|
|
145
|
+
this.stateHandlers.clear();
|
|
126
146
|
this.setState('disconnected');
|
|
127
147
|
}
|
|
128
148
|
async publish(notification) {
|
|
@@ -139,6 +159,20 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
139
159
|
const escapedPayload = payload.replace(/'/g, "''");
|
|
140
160
|
await this.pool.query(`NOTIFY "${this.config.channelName}", '${escapedPayload}'`);
|
|
141
161
|
}
|
|
162
|
+
async publishState(notification) {
|
|
163
|
+
if (this._state !== 'connected') {
|
|
164
|
+
throw new Error('Cannot publish state: channel not connected');
|
|
165
|
+
}
|
|
166
|
+
if (!this.pool) {
|
|
167
|
+
throw new Error('Cannot publish state: no pool available');
|
|
168
|
+
}
|
|
169
|
+
const payload = this.serializeStateNotification(notification);
|
|
170
|
+
log('publishing state notification: %s', payload);
|
|
171
|
+
// NOTIFY doesn't support parameterized queries, so we must escape the payload
|
|
172
|
+
// PostgreSQL escapes single quotes by doubling them
|
|
173
|
+
const escapedPayload = payload.replace(/'/g, "''");
|
|
174
|
+
await this.pool.query(`NOTIFY "${this.stateChannelName}", '${escapedPayload}'`);
|
|
175
|
+
}
|
|
142
176
|
/**
|
|
143
177
|
* Serialize notification to JSON string for NOTIFY payload
|
|
144
178
|
*/
|
|
@@ -152,6 +186,26 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
152
186
|
source: notification.source
|
|
153
187
|
});
|
|
154
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Serialize state notification to JSON string for NOTIFY payload
|
|
191
|
+
*/
|
|
192
|
+
serializeStateNotification(notification) {
|
|
193
|
+
return JSON.stringify({
|
|
194
|
+
type: notification.type,
|
|
195
|
+
jobId: notification.jobId,
|
|
196
|
+
jobName: notification.jobName,
|
|
197
|
+
timestamp: notification.timestamp.toISOString(),
|
|
198
|
+
source: notification.source,
|
|
199
|
+
progress: notification.progress,
|
|
200
|
+
error: notification.error,
|
|
201
|
+
failCount: notification.failCount,
|
|
202
|
+
retryAt: notification.retryAt?.toISOString(),
|
|
203
|
+
retryAttempt: notification.retryAttempt,
|
|
204
|
+
duration: notification.duration,
|
|
205
|
+
lastRunAt: notification.lastRunAt?.toISOString(),
|
|
206
|
+
lastFinishedAt: notification.lastFinishedAt?.toISOString()
|
|
207
|
+
});
|
|
208
|
+
}
|
|
155
209
|
/**
|
|
156
210
|
* Parse notification from JSON string received via LISTEN
|
|
157
211
|
*/
|
|
@@ -166,5 +220,26 @@ export class PostgresNotificationChannel extends BaseNotificationChannel {
|
|
|
166
220
|
source: data.source
|
|
167
221
|
};
|
|
168
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Parse state notification from JSON string received via LISTEN
|
|
225
|
+
*/
|
|
226
|
+
parseStateNotification(payload) {
|
|
227
|
+
const data = JSON.parse(payload);
|
|
228
|
+
return {
|
|
229
|
+
type: data.type,
|
|
230
|
+
jobId: toJobId(data.jobId),
|
|
231
|
+
jobName: data.jobName,
|
|
232
|
+
timestamp: new Date(data.timestamp),
|
|
233
|
+
source: data.source,
|
|
234
|
+
progress: data.progress,
|
|
235
|
+
error: data.error,
|
|
236
|
+
failCount: data.failCount,
|
|
237
|
+
retryAt: data.retryAt ? new Date(data.retryAt) : undefined,
|
|
238
|
+
retryAttempt: data.retryAttempt,
|
|
239
|
+
duration: data.duration,
|
|
240
|
+
lastRunAt: data.lastRunAt ? new Date(data.lastRunAt) : undefined,
|
|
241
|
+
lastFinishedAt: data.lastFinishedAt ? new Date(data.lastFinishedAt) : undefined
|
|
242
|
+
};
|
|
243
|
+
}
|
|
169
244
|
}
|
|
170
245
|
//# sourceMappingURL=PostgresNotificationChannel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresNotificationChannel.js","sourceRoot":"","sources":["../src/PostgresNotificationChannel.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PostgresNotificationChannel.js","sourceRoot":"","sources":["../src/PostgresNotificationChannel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agendajs/postgres-backend",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"pg": "^8.13.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"agenda": "6.
|
|
46
|
+
"agenda": "6.1.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/debug": "^4.1.12",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@vitest/coverage-v8": "^3.1.0",
|
|
53
53
|
"tsx": "^4.21.0",
|
|
54
54
|
"vitest": "^3.1.0",
|
|
55
|
-
"agenda": "6.
|
|
55
|
+
"agenda": "6.1.0"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"build": "tsc -b",
|