@dbos-inc/dbos-sdk 4.24.11-preview → 4.24.13-preview
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/src/client.d.ts +1 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +2 -3
- package/dist/src/client.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +22 -1
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +51 -0
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/error.d.ts +4 -0
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +9 -1
- package/dist/src/error.js.map +1 -1
- package/dist/src/eventreceiver.d.ts +57 -0
- package/dist/src/eventreceiver.d.ts.map +1 -0
- package/dist/src/eventreceiver.js +75 -0
- package/dist/src/eventreceiver.js.map +1 -0
- package/dist/src/system_database.d.ts +13 -2
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +151 -4
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/wfqueue.d.ts +5 -0
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +17 -1
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -2
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getQueue = exports.getOrCreateQueue = exports.registerPollerQueue = exports.enqueueWorkflows = exports.prepareEnqueuedWorkflow = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Entry point for event receivers (Kafka, SQS, ...) that live in their own packages.
|
|
6
|
+
*
|
|
7
|
+
* This is not part of the user-facing API: it exists so a receiver can reach the internals it
|
|
8
|
+
* needs — chiefly durable batch enqueue — without those internals landing on the `DBOS` class.
|
|
9
|
+
*/
|
|
10
|
+
const dbos_executor_1 = require("./dbos-executor");
|
|
11
|
+
const decorators_1 = require("./decorators");
|
|
12
|
+
const wfqueue_1 = require("./wfqueue");
|
|
13
|
+
/**
|
|
14
|
+
* Build, without persisting, an ENQUEUED row for `workflow`, to be durably enqueued in bulk by
|
|
15
|
+
* {@link enqueueWorkflows}. Together they let a receiver enqueue a batch of workflows in one
|
|
16
|
+
* transaction instead of one transaction per workflow.
|
|
17
|
+
*
|
|
18
|
+
* Any ambient DBOS context is ignored: the row inherits no parent, auth, or attributes.
|
|
19
|
+
*/
|
|
20
|
+
async function prepareEnqueuedWorkflow(workflow, args, options) {
|
|
21
|
+
(0, decorators_1.ensureDBOSIsLaunched)('prepareEnqueuedWorkflow');
|
|
22
|
+
return await dbos_executor_1.DBOSExecutor.globalInstance.prepareEnqueuedWorkflow(workflow, args, options);
|
|
23
|
+
}
|
|
24
|
+
exports.prepareEnqueuedWorkflow = prepareEnqueuedWorkflow;
|
|
25
|
+
/**
|
|
26
|
+
* Durably enqueue a batch of workflows built by {@link prepareEnqueuedWorkflow}, in a single
|
|
27
|
+
* transaction. Workflows whose ID already exists are skipped rather than updated, so redelivering
|
|
28
|
+
* the same batch is a no-op and each workflow runs exactly once.
|
|
29
|
+
*
|
|
30
|
+
* Throws rather than retrying if the database is unreachable, so the caller keeps control: retry
|
|
31
|
+
* the same batch until it succeeds, and commit nothing to the source until it does.
|
|
32
|
+
*
|
|
33
|
+
* @returns The IDs of the workflows actually enqueued by this call.
|
|
34
|
+
*/
|
|
35
|
+
async function enqueueWorkflows(workflows) {
|
|
36
|
+
(0, decorators_1.ensureDBOSIsLaunched)('enqueueWorkflows');
|
|
37
|
+
return await dbos_executor_1.DBOSExecutor.globalInstance.systemDatabase.enqueueWorkflows(workflows);
|
|
38
|
+
}
|
|
39
|
+
exports.enqueueWorkflows = enqueueWorkflows;
|
|
40
|
+
/**
|
|
41
|
+
* Mark a queue as fed by this process's own poller (e.g. a Kafka consumer), so it is always
|
|
42
|
+
* dispatched even when a `listenQueues` filter names only other queues. Without this, workflows
|
|
43
|
+
* the poller enqueues would sit ENQUEUED forever.
|
|
44
|
+
*
|
|
45
|
+
* Must be called before `DBOS.launch`, when the queue dispatcher takes its snapshot.
|
|
46
|
+
*/
|
|
47
|
+
function registerPollerQueue(name) {
|
|
48
|
+
wfqueue_1.wfQueueRunner.pollerQueueNames.add(name);
|
|
49
|
+
}
|
|
50
|
+
exports.registerPollerQueue = registerPollerQueue;
|
|
51
|
+
/**
|
|
52
|
+
* Get the in-memory queue registered under `name` in this process, creating it if there is none.
|
|
53
|
+
*
|
|
54
|
+
* A receiver must resolve its internal queues through this rather than caching them: a registry
|
|
55
|
+
* clear (`DBOS.shutdown({ deregister: true })`) drops the registration, and a cached queue would
|
|
56
|
+
* silently stop being dispatched, leaving its workflows ENQUEUED forever.
|
|
57
|
+
*/
|
|
58
|
+
function getOrCreateQueue(name, params = {}) {
|
|
59
|
+
return wfqueue_1.wfQueueRunner.wfQueuesByName.get(name) ?? new wfqueue_1.WorkflowQueue(name, params);
|
|
60
|
+
}
|
|
61
|
+
exports.getOrCreateQueue = getOrCreateQueue;
|
|
62
|
+
/**
|
|
63
|
+
* Look up a queue by name: an in-memory queue registered in this process if there is one,
|
|
64
|
+
* otherwise a database-backed queue. Returns `null` if neither exists.
|
|
65
|
+
*/
|
|
66
|
+
async function getQueue(name) {
|
|
67
|
+
const inMemory = wfqueue_1.wfQueueRunner.wfQueuesByName.get(name);
|
|
68
|
+
if (inMemory)
|
|
69
|
+
return inMemory;
|
|
70
|
+
(0, decorators_1.ensureDBOSIsLaunched)('getQueue');
|
|
71
|
+
const record = await dbos_executor_1.DBOSExecutor.globalInstance.systemDatabase.getQueue(name);
|
|
72
|
+
return record === null ? null : wfqueue_1.WorkflowQueue._fromRecord(record);
|
|
73
|
+
}
|
|
74
|
+
exports.getQueue = getQueue;
|
|
75
|
+
//# sourceMappingURL=eventreceiver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventreceiver.js","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mDAA+E;AAC/E,6CAAwE;AAExE,uCAA0E;AAU1E;;;;;;GAMG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAkC,EAClC,IAAO,EACP,OAAuC;IAEvC,IAAA,iCAAoB,EAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAPD,0DAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAA6B;IAClE,IAAA,iCAAoB,EAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACvF,CAAC;AAHD,4CAGC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,uBAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,SAA0B,EAAE;IACzE,OAAO,uBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAFD,4CAEC;AAED;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAND,4BAMC"}
|
|
@@ -258,6 +258,17 @@ export declare class SystemDatabase {
|
|
|
258
258
|
deadlineEpochMS?: number;
|
|
259
259
|
serialization: SysDBSerializationFormat | null;
|
|
260
260
|
}>;
|
|
261
|
+
/**
|
|
262
|
+
* Batch-insert ENQUEUED workflow status rows in a single transaction.
|
|
263
|
+
*
|
|
264
|
+
* Rows whose workflow_uuid already exists are skipped rather than updated, making this
|
|
265
|
+
* idempotent under redelivery (e.g. Kafka). Returns the IDs of the rows actually inserted.
|
|
266
|
+
*
|
|
267
|
+
* Deliberately not `@dbRetry()`-decorated, unlike its neighbours: that loop is unabortable, so a
|
|
268
|
+
* connection outage would trap the caller in it rather than let it back off and observe a
|
|
269
|
+
* shutdown. Callers retry this themselves.
|
|
270
|
+
*/
|
|
271
|
+
enqueueWorkflows(statuses: WorkflowStatusInternal[]): Promise<Set<string>>;
|
|
261
272
|
recordWorkflowOutput(workflowID: string, status: WorkflowStatusInternal): Promise<void>;
|
|
262
273
|
recordWorkflowError(workflowID: string, status: WorkflowStatusInternal): Promise<void>;
|
|
263
274
|
getPendingWorkflows(executorID: string, appVersion: string): Promise<GetPendingWorkflowsOutput[]>;
|
|
@@ -327,8 +338,8 @@ export declare class SystemDatabase {
|
|
|
327
338
|
awaitWorkflowIds(workflowIds: string[], callerID?: string, pollingIntervalMs?: number): Promise<void>;
|
|
328
339
|
durableSleepms(workflowID: string, functionID: number, durationMS: number): Promise<void>;
|
|
329
340
|
readonly nullTopic = "__null__topic__";
|
|
330
|
-
send(workflowID: string, functionID: number, destinationID: string, message: string | null, topic: string | undefined, serialization: string | null,
|
|
331
|
-
sendDirect(destinationID: string, message: string | null, topic: string | undefined, serialization: string | null,
|
|
341
|
+
send(workflowID: string, functionID: number, destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, idempotencyKey?: string): Promise<void>;
|
|
342
|
+
sendDirect(destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, idempotencyKey?: string): Promise<void>;
|
|
332
343
|
recv(workflowID: string, functionID: number, timeoutFunctionID: number, topic?: string, timeoutSeconds?: number, pollingIntervalMs?: number): Promise<{
|
|
333
344
|
serializedValue: string | null;
|
|
334
345
|
serialization: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
|
|
@@ -397,6 +397,8 @@ class SystemDatabase {
|
|
|
397
397
|
*/
|
|
398
398
|
pollLimiter;
|
|
399
399
|
runningWorkflowMap = new Map(); // Map from workflowID to workflow promise, queue name and partition key
|
|
400
|
+
// Per-partition-key created_at cursors: keep per-key queue order monotonic across batches
|
|
401
|
+
#batchCreatedAtCursors = new Map();
|
|
400
402
|
constructor(systemDatabaseUrl, logger, serializer, sysDbPoolSize = exports.DEFAULT_POOL_SIZE, systemDatabasePool, schemaName = 'dbos', useListenNotify = true, pollingConcurrency) {
|
|
401
403
|
this.systemDatabaseUrl = systemDatabaseUrl;
|
|
402
404
|
this.logger = logger;
|
|
@@ -527,6 +529,150 @@ class SystemDatabase {
|
|
|
527
529
|
}
|
|
528
530
|
}
|
|
529
531
|
}
|
|
532
|
+
/** Highest created_at among still-active rows per partition key, used to seed the in-memory cursor. */
|
|
533
|
+
async #maxPartitionKeyCreatedAt(keys) {
|
|
534
|
+
const maxima = new Map();
|
|
535
|
+
if (keys.length === 0)
|
|
536
|
+
return maxima;
|
|
537
|
+
const { rows } = await this.pool.query(`SELECT queue_partition_key, MAX(created_at) AS max_created_at
|
|
538
|
+
FROM "${this.schemaName}".workflow_status
|
|
539
|
+
WHERE queue_partition_key = ANY($1) AND status = ANY($2)
|
|
540
|
+
GROUP BY queue_partition_key`, [keys, [workflow_1.StatusString.ENQUEUED, workflow_1.StatusString.PENDING]]);
|
|
541
|
+
for (const row of rows) {
|
|
542
|
+
if (row.max_created_at !== null) {
|
|
543
|
+
maxima.set(row.queue_partition_key, Number(row.max_created_at));
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
return maxima;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Stamp created_at monotonic within each partition key so per-key order holds across batches.
|
|
550
|
+
* Unordered rows (no partition key) get wall-clock time and never touch the cursors.
|
|
551
|
+
*/
|
|
552
|
+
async #assignBatchCreatedAt(statuses) {
|
|
553
|
+
const nowMS = Date.now();
|
|
554
|
+
const batchKeys = new Set();
|
|
555
|
+
for (const status of statuses) {
|
|
556
|
+
if (status.queuePartitionKey !== undefined) {
|
|
557
|
+
batchKeys.add(status.queuePartitionKey);
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
// On first sight of a key, seed its cursor from the DB high-water mark so per-key order
|
|
561
|
+
// survives a restart or rebalance instead of resetting to wall-clock.
|
|
562
|
+
const unseen = Array.from(batchKeys).filter((key) => !this.#batchCreatedAtCursors.has(key));
|
|
563
|
+
const seeds = await this.#maxPartitionKeyCreatedAt(unseen);
|
|
564
|
+
// Synchronous from here, so a concurrent batch cannot interleave with these cursor updates.
|
|
565
|
+
for (const [key, seededMax] of seeds) {
|
|
566
|
+
// max() guards against a concurrent batch that already advanced this key.
|
|
567
|
+
this.#batchCreatedAtCursors.set(key, Math.max(this.#batchCreatedAtCursors.get(key) ?? 0, seededMax + 1));
|
|
568
|
+
}
|
|
569
|
+
const createdAts = [];
|
|
570
|
+
const nextForKey = new Map();
|
|
571
|
+
for (const status of statuses) {
|
|
572
|
+
const key = status.queuePartitionKey;
|
|
573
|
+
if (key === undefined) {
|
|
574
|
+
createdAts.push(nowMS);
|
|
575
|
+
continue;
|
|
576
|
+
}
|
|
577
|
+
const value = nextForKey.get(key) ?? Math.max(nowMS, this.#batchCreatedAtCursors.get(key) ?? 0);
|
|
578
|
+
createdAts.push(value);
|
|
579
|
+
nextForKey.set(key, value + 1);
|
|
580
|
+
}
|
|
581
|
+
for (const [key, next] of nextForKey) {
|
|
582
|
+
this.#batchCreatedAtCursors.set(key, next);
|
|
583
|
+
}
|
|
584
|
+
return createdAts;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Batch-insert ENQUEUED workflow status rows in a single transaction.
|
|
588
|
+
*
|
|
589
|
+
* Rows whose workflow_uuid already exists are skipped rather than updated, making this
|
|
590
|
+
* idempotent under redelivery (e.g. Kafka). Returns the IDs of the rows actually inserted.
|
|
591
|
+
*
|
|
592
|
+
* Deliberately not `@dbRetry()`-decorated, unlike its neighbours: that loop is unabortable, so a
|
|
593
|
+
* connection outage would trap the caller in it rather than let it back off and observe a
|
|
594
|
+
* shutdown. Callers retry this themselves.
|
|
595
|
+
*/
|
|
596
|
+
async enqueueWorkflows(statuses) {
|
|
597
|
+
const inserted = new Set();
|
|
598
|
+
if (statuses.length === 0)
|
|
599
|
+
return inserted;
|
|
600
|
+
for (const status of statuses) {
|
|
601
|
+
if (status.status !== workflow_1.StatusString.ENQUEUED) {
|
|
602
|
+
throw new error_1.DBOSError(`enqueueWorkflows only accepts ${workflow_1.StatusString.ENQUEUED} workflows, but ${status.workflowUUID} is ${status.status}`);
|
|
603
|
+
}
|
|
604
|
+
if (status.deduplicationID !== undefined) {
|
|
605
|
+
throw new error_1.DBOSError(`enqueueWorkflows does not support deduplication IDs, but ${status.workflowUUID} has one`);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
const createdAts = await this.#assignBatchCreatedAt(statuses);
|
|
609
|
+
const columns = [
|
|
610
|
+
'workflow_uuid',
|
|
611
|
+
'status',
|
|
612
|
+
'name',
|
|
613
|
+
'class_name',
|
|
614
|
+
'config_name',
|
|
615
|
+
'queue_name',
|
|
616
|
+
'authenticated_user',
|
|
617
|
+
'assumed_role',
|
|
618
|
+
'authenticated_roles',
|
|
619
|
+
'request',
|
|
620
|
+
'executor_id',
|
|
621
|
+
'application_version',
|
|
622
|
+
'application_id',
|
|
623
|
+
'created_at',
|
|
624
|
+
'recovery_attempts',
|
|
625
|
+
'updated_at',
|
|
626
|
+
'workflow_timeout_ms',
|
|
627
|
+
'workflow_deadline_epoch_ms',
|
|
628
|
+
'inputs',
|
|
629
|
+
'deduplication_id',
|
|
630
|
+
'priority',
|
|
631
|
+
'queue_partition_key',
|
|
632
|
+
'parent_workflow_id',
|
|
633
|
+
'serialization',
|
|
634
|
+
'owner_xid',
|
|
635
|
+
'delay_until_epoch_ms',
|
|
636
|
+
'attributes',
|
|
637
|
+
'schedule_name',
|
|
638
|
+
];
|
|
639
|
+
const client = await this.pool.connect();
|
|
640
|
+
try {
|
|
641
|
+
await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
|
|
642
|
+
// Chunk to stay well under the bind-parameter limit.
|
|
643
|
+
const chunkSize = 500;
|
|
644
|
+
for (let start = 0; start < statuses.length; start += chunkSize) {
|
|
645
|
+
const chunk = statuses.slice(start, start + chunkSize);
|
|
646
|
+
const tuples = [];
|
|
647
|
+
const params = [];
|
|
648
|
+
let paramIdx = 1;
|
|
649
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
650
|
+
const status = chunk[i];
|
|
651
|
+
const createdAt = createdAts[start + i];
|
|
652
|
+
tuples.push(`(${columns.map(() => `$${paramIdx++}`).join(', ')})`);
|
|
653
|
+
params.push(status.workflowUUID, status.status, status.workflowName,
|
|
654
|
+
// For cross-language compatibility, these MUST be NULL in the database when not set
|
|
655
|
+
status.workflowClassName === '' ? null : status.workflowClassName, status.workflowConfigName === '' ? null : status.workflowConfigName, status.queueName ?? null, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles), JSON.stringify(status.request), status.executorId, status.applicationVersion ?? null, status.applicationID, createdAt, 0, createdAt, status.timeoutMS ?? null, status.deadlineEpochMS ?? null, status.input, null, status.priority, status.queuePartitionKey ?? null, status.parentWorkflowID ?? null, status.serialization, null, status.delayUntilEpochMS ?? null, status.attributes ? JSON.stringify(status.attributes) : null, status.scheduleName ?? null);
|
|
656
|
+
}
|
|
657
|
+
const { rows } = await client.query(`INSERT INTO "${this.schemaName}".workflow_status (${columns.join(', ')})
|
|
658
|
+
VALUES ${tuples.join(', ')}
|
|
659
|
+
ON CONFLICT (workflow_uuid) DO NOTHING
|
|
660
|
+
RETURNING workflow_uuid`, params);
|
|
661
|
+
for (const row of rows) {
|
|
662
|
+
inserted.add(row.workflow_uuid);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
await client.query('COMMIT');
|
|
666
|
+
}
|
|
667
|
+
catch (e) {
|
|
668
|
+
await client.query('ROLLBACK');
|
|
669
|
+
throw e;
|
|
670
|
+
}
|
|
671
|
+
finally {
|
|
672
|
+
client.release();
|
|
673
|
+
}
|
|
674
|
+
return inserted;
|
|
675
|
+
}
|
|
530
676
|
async recordWorkflowOutput(workflowID, status) {
|
|
531
677
|
const client = await this.pool.connect();
|
|
532
678
|
try {
|
|
@@ -1409,9 +1555,9 @@ class SystemDatabase {
|
|
|
1409
1555
|
}
|
|
1410
1556
|
// ==================== Messaging ====================
|
|
1411
1557
|
nullTopic = '__null__topic__';
|
|
1412
|
-
async send(workflowID, functionID, destinationID, message, topic, serialization,
|
|
1558
|
+
async send(workflowID, functionID, destinationID, message, topic, serialization, idempotencyKey) {
|
|
1413
1559
|
topic = topic ?? this.nullTopic;
|
|
1414
|
-
messageUUID =
|
|
1560
|
+
const messageUUID = idempotencyKey ? `${idempotencyKey}::${destinationID}` : (0, crypto_1.randomUUID)();
|
|
1415
1561
|
const client = await this.pool.connect();
|
|
1416
1562
|
try {
|
|
1417
1563
|
await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
|
|
@@ -1438,9 +1584,10 @@ class SystemDatabase {
|
|
|
1438
1584
|
client.release();
|
|
1439
1585
|
}
|
|
1440
1586
|
}
|
|
1441
|
-
async sendDirect(destinationID, message, topic, serialization,
|
|
1587
|
+
async sendDirect(destinationID, message, topic, serialization, idempotencyKey) {
|
|
1442
1588
|
topic = topic ?? this.nullTopic;
|
|
1443
|
-
|
|
1589
|
+
// Same per-destination scoping as send() above.
|
|
1590
|
+
const messageUUID = idempotencyKey ? `${idempotencyKey}::${destinationID}` : (0, crypto_1.randomUUID)();
|
|
1444
1591
|
try {
|
|
1445
1592
|
await this.pool.query(`INSERT INTO "${this.schemaName}".notifications (destination_uuid, topic, message, serialization, message_uuid)
|
|
1446
1593
|
VALUES ($1, $2, $3, $4, $5)
|