@fedify/postgres 2.2.0 → 2.3.0-dev.1013
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/mq.cjs +18 -0
- package/dist/mq.d.cts +2 -1
- package/dist/mq.d.ts +2 -1
- package/dist/mq.js +18 -0
- package/package.json +3 -3
package/dist/mq.cjs
CHANGED
|
@@ -136,6 +136,24 @@ var PostgresMessageQueue = class {
|
|
|
136
136
|
orderingKey
|
|
137
137
|
});
|
|
138
138
|
}
|
|
139
|
+
async getDepth() {
|
|
140
|
+
await this.initialize();
|
|
141
|
+
const result = await this.#sql`
|
|
142
|
+
SELECT
|
|
143
|
+
COUNT(*) AS queued,
|
|
144
|
+
COUNT(*) FILTER (
|
|
145
|
+
WHERE created + delay <= CURRENT_TIMESTAMP
|
|
146
|
+
) AS ready
|
|
147
|
+
FROM ${this.#sql(this.#tableName)}
|
|
148
|
+
`;
|
|
149
|
+
const queued = Number(result[0].queued);
|
|
150
|
+
const ready = Number(result[0].ready);
|
|
151
|
+
return {
|
|
152
|
+
queued,
|
|
153
|
+
ready,
|
|
154
|
+
delayed: Math.max(0, queued - ready)
|
|
155
|
+
};
|
|
156
|
+
}
|
|
139
157
|
async listen(handler, options = {}) {
|
|
140
158
|
await this.initialize();
|
|
141
159
|
const { signal } = options;
|
package/dist/mq.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions } from "@fedify/fedify";
|
|
1
|
+
import { MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions } from "@fedify/fedify";
|
|
2
2
|
import { Sql } from "postgres";
|
|
3
3
|
|
|
4
4
|
//#region src/mq.d.ts
|
|
@@ -64,6 +64,7 @@ declare class PostgresMessageQueue implements MessageQueue {
|
|
|
64
64
|
constructor(sql: Sql<{}>, options?: PostgresMessageQueueOptions);
|
|
65
65
|
enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
66
66
|
enqueueMany(messages: readonly any[], options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
67
|
+
getDepth(): Promise<MessageQueueDepth>;
|
|
67
68
|
listen(handler: (message: any) => void | Promise<void>, options?: MessageQueueListenOptions): Promise<void>;
|
|
68
69
|
/**
|
|
69
70
|
* Initializes the message queue table if it does not already exist.
|
package/dist/mq.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { Sql } from "postgres";
|
|
3
|
-
import { MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions } from "@fedify/fedify";
|
|
3
|
+
import { MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions } from "@fedify/fedify";
|
|
4
4
|
|
|
5
5
|
//#region src/mq.d.ts
|
|
6
6
|
/**
|
|
@@ -65,6 +65,7 @@ declare class PostgresMessageQueue implements MessageQueue {
|
|
|
65
65
|
constructor(sql: Sql<{}>, options?: PostgresMessageQueueOptions);
|
|
66
66
|
enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
67
67
|
enqueueMany(messages: readonly any[], options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
68
|
+
getDepth(): Promise<MessageQueueDepth>;
|
|
68
69
|
listen(handler: (message: any) => void | Promise<void>, options?: MessageQueueListenOptions): Promise<void>;
|
|
69
70
|
/**
|
|
70
71
|
* Initializes the message queue table if it does not already exist.
|
package/dist/mq.js
CHANGED
|
@@ -133,6 +133,24 @@ var PostgresMessageQueue = class {
|
|
|
133
133
|
orderingKey
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
+
async getDepth() {
|
|
137
|
+
await this.initialize();
|
|
138
|
+
const result = await this.#sql`
|
|
139
|
+
SELECT
|
|
140
|
+
COUNT(*) AS queued,
|
|
141
|
+
COUNT(*) FILTER (
|
|
142
|
+
WHERE created + delay <= CURRENT_TIMESTAMP
|
|
143
|
+
) AS ready
|
|
144
|
+
FROM ${this.#sql(this.#tableName)}
|
|
145
|
+
`;
|
|
146
|
+
const queued = Number(result[0].queued);
|
|
147
|
+
const ready = Number(result[0].ready);
|
|
148
|
+
return {
|
|
149
|
+
queued,
|
|
150
|
+
ready,
|
|
151
|
+
delayed: Math.max(0, queued - ready)
|
|
152
|
+
};
|
|
153
|
+
}
|
|
136
154
|
async listen(handler, options = {}) {
|
|
137
155
|
await this.initialize();
|
|
138
156
|
const { signal } = options;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fedify/postgres",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-dev.1013+4aa6a88c",
|
|
4
4
|
"description": "PostgreSQL drivers for Fedify",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fedify",
|
|
@@ -74,14 +74,14 @@
|
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
76
|
"postgres": "^3.4.7",
|
|
77
|
-
"@fedify/fedify": "^2.
|
|
77
|
+
"@fedify/fedify": "^2.3.0-dev.1013+4aa6a88c"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@std/async": "npm:@jsr/std__async@^1.0.13",
|
|
81
81
|
"tsdown": "^0.21.6",
|
|
82
82
|
"typescript": "^5.9.2",
|
|
83
83
|
"@fedify/fixture": "^2.0.0",
|
|
84
|
-
"@fedify/testing": "^2.
|
|
84
|
+
"@fedify/testing": "^2.3.0-dev.1013+4aa6a88c"
|
|
85
85
|
},
|
|
86
86
|
"scripts": {
|
|
87
87
|
"build:self": "tsdown",
|