@flowcore/pathways 0.15.2 → 0.16.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/CHANGELOG.md +20 -0
- package/esm/pathways/builder.d.ts.map +1 -1
- package/esm/pathways/builder.js +2 -0
- package/esm/pathways/postgres/postgres-adapter.d.ts +17 -0
- package/esm/pathways/postgres/postgres-adapter.d.ts.map +1 -1
- package/esm/pathways/postgres/postgres-adapter.js +17 -1
- package/esm/pathways/postgres/postgres-pathway-state.d.ts +29 -2
- package/esm/pathways/postgres/postgres-pathway-state.d.ts.map +1 -1
- package/esm/pathways/postgres/postgres-pathway-state.js +26 -2
- package/package.json +1 -1
- package/script/pathways/builder.d.ts.map +1 -1
- package/script/pathways/builder.js +5 -0
- package/script/pathways/postgres/postgres-adapter.d.ts +17 -0
- package/script/pathways/postgres/postgres-adapter.d.ts.map +1 -1
- package/script/pathways/postgres/postgres-adapter.js +17 -1
- package/script/pathways/postgres/postgres-pathway-state.d.ts +29 -2
- package/script/pathways/postgres/postgres-pathway-state.d.ts.map +1 -1
- package/script/pathways/postgres/postgres-pathway-state.js +26 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.16.0](https://github.com/flowcore-io/flowcore-pathways/compare/v0.15.3...v0.16.0) (2025-06-03)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **postgres:** :sparkles: add connection pool configuration options for PostgreSQL ([9ba9966](https://github.com/flowcore-io/flowcore-pathways/commit/9ba9966706c13bba441ef8538a0ecfe405191307))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **postgres:** :art: clean up whitespace in postgres-adapter.ts ([d16e0a9](https://github.com/flowcore-io/flowcore-pathways/commit/d16e0a9dfc0b02e533143dfcc5fe34e57bf22cea))
|
|
14
|
+
* **postgres:** :art: update PostgresJsOptions interface for better type safety ([0fee92e](https://github.com/flowcore-io/flowcore-pathways/commit/0fee92eaad3ceb9a387cb6cee9d3029a254b8c15))
|
|
15
|
+
|
|
16
|
+
## [0.15.3](https://github.com/flowcore-io/flowcore-pathways/compare/v0.15.2...v0.15.3) (2025-06-03)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* add debug ([c5b0776](https://github.com/flowcore-io/flowcore-pathways/commit/c5b0776af5edfb64a568e497e31ed5181c59bb2d))
|
|
22
|
+
|
|
3
23
|
## [0.15.2](https://github.com/flowcore-io/flowcore-pathways/compare/v0.15.1...v0.15.2) (2025-06-03)
|
|
4
24
|
|
|
5
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAChB,MAAM,YAAY,CAAA;AASnB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"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"}
|
package/esm/pathways/builder.js
CHANGED
|
@@ -6,6 +6,7 @@ import { InternalPathwayState } from "./internal-pathway.state.js";
|
|
|
6
6
|
import { NoopLogger } from "./logger.js";
|
|
7
7
|
import { AUDIT_ENTITY_TYPE, AUDIT_MODE, AUDIT_ON_BEHALF_OF, AUDIT_SYSTEM_MODE, AUDIT_USER_ID, AUDIT_USER_MODE, } from "./constants.js";
|
|
8
8
|
import { FileEventSchema, FileInputSchema } from "./types.js";
|
|
9
|
+
import process from "node:process";
|
|
9
10
|
/**
|
|
10
11
|
* Default timeout for pathway processing in milliseconds (10 seconds)
|
|
11
12
|
*/
|
|
@@ -797,6 +798,7 @@ export class PathwaysBuilder {
|
|
|
797
798
|
else if (this.filePathways.has(path)) {
|
|
798
799
|
const { fileId, fileName, fileContent, ...additionalProperties } = data;
|
|
799
800
|
const fileType = await fileTypeFromBuffer(fileContent);
|
|
801
|
+
process.env.DEBUG?.includes("pathways") && console.log("additionalProperties", additionalProperties);
|
|
800
802
|
eventIds = await this.fileWriters[path]({
|
|
801
803
|
fileId,
|
|
802
804
|
fileName,
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection pool configuration options for PostgreSQL
|
|
3
|
+
*/
|
|
4
|
+
export interface PostgresPoolConfig {
|
|
5
|
+
/** Maximum number of connections in the pool (default: 10) */
|
|
6
|
+
max?: number;
|
|
7
|
+
/** Maximum lifetime in seconds for connections (default: random between 45-90 minutes) */
|
|
8
|
+
max_lifetime?: number;
|
|
9
|
+
/** Idle connection timeout in seconds (default: 0 - no timeout) */
|
|
10
|
+
idle_timeout?: number;
|
|
11
|
+
/** Connect timeout in seconds (default: 30) */
|
|
12
|
+
connect_timeout?: number;
|
|
13
|
+
}
|
|
1
14
|
/**
|
|
2
15
|
* Configuration for PostgreSQL connection using a connection string
|
|
3
16
|
*/
|
|
@@ -11,6 +24,8 @@ export interface PostgresConnectionStringConfig {
|
|
|
11
24
|
password?: never;
|
|
12
25
|
database?: never;
|
|
13
26
|
ssl?: never;
|
|
27
|
+
/** Connection pool configuration */
|
|
28
|
+
pool?: PostgresPoolConfig;
|
|
14
29
|
}
|
|
15
30
|
/**
|
|
16
31
|
* Configuration for PostgreSQL connection using individual parameters
|
|
@@ -30,6 +45,8 @@ export interface PostgresParametersConfig {
|
|
|
30
45
|
database: string;
|
|
31
46
|
/** Whether to use SSL for the connection */
|
|
32
47
|
ssl?: boolean;
|
|
48
|
+
/** Connection pool configuration */
|
|
49
|
+
pool?: PostgresPoolConfig;
|
|
33
50
|
}
|
|
34
51
|
/**
|
|
35
52
|
* Configuration options for PostgreSQL connection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAmBD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;IAEX,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAA;IAExB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,8BAA8B,GAAG,wBAAwB,CAAA;AAEtF;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3B;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAErD;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AAoBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAA2F;IAC3G,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAA8B;IACzC,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,yDAAyD;IACzD,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;;;OAIG;gBACS,MAAM,EAAE,cAAc;IAgBlC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B9B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO/D;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAI5F"}
|
|
@@ -60,7 +60,23 @@ export class PostgresJsAdapter {
|
|
|
60
60
|
try {
|
|
61
61
|
const module = await import("postgres");
|
|
62
62
|
this.postgres = module.default;
|
|
63
|
-
|
|
63
|
+
// Build postgres.js options from pool configuration
|
|
64
|
+
const postgresOptions = {};
|
|
65
|
+
if (this.config.pool) {
|
|
66
|
+
if (this.config.pool.max !== undefined) {
|
|
67
|
+
postgresOptions.max = this.config.pool.max;
|
|
68
|
+
}
|
|
69
|
+
if (this.config.pool.max_lifetime !== undefined) {
|
|
70
|
+
postgresOptions.max_lifetime = this.config.pool.max_lifetime;
|
|
71
|
+
}
|
|
72
|
+
if (this.config.pool.idle_timeout !== undefined) {
|
|
73
|
+
postgresOptions.idle_timeout = this.config.pool.idle_timeout;
|
|
74
|
+
}
|
|
75
|
+
if (this.config.pool.connect_timeout !== undefined) {
|
|
76
|
+
postgresOptions.connect_timeout = this.config.pool.connect_timeout;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this.sql = this.postgres(this.connectionString, postgresOptions);
|
|
64
80
|
}
|
|
65
81
|
catch (error) {
|
|
66
82
|
console.error("Failed to connect to PostgreSQL:", error);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PathwayState } from "../types.js";
|
|
2
|
+
import type { PostgresPoolConfig } from "./postgres-adapter.js";
|
|
2
3
|
/**
|
|
3
4
|
* Configuration for PostgreSQL pathway state storage using a connection string
|
|
4
5
|
*/
|
|
@@ -16,6 +17,8 @@ export interface PostgresPathwayStateConnectionStringConfig {
|
|
|
16
17
|
tableName?: string;
|
|
17
18
|
/** Time-to-live in milliseconds for processed events (default: 5 minutes) */
|
|
18
19
|
ttlMs?: number;
|
|
20
|
+
/** Connection pool configuration */
|
|
21
|
+
pool?: PostgresPoolConfig;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* Configuration for PostgreSQL pathway state storage using individual parameters
|
|
@@ -39,6 +42,8 @@ export interface PostgresPathwayStateParametersConfig {
|
|
|
39
42
|
tableName?: string;
|
|
40
43
|
/** Time-to-live in milliseconds for processed events (default: 5 minutes) */
|
|
41
44
|
ttlMs?: number;
|
|
45
|
+
/** Connection pool configuration */
|
|
46
|
+
pool?: PostgresPoolConfig;
|
|
42
47
|
}
|
|
43
48
|
/**
|
|
44
49
|
* Configuration options for PostgreSQL pathway state storage
|
|
@@ -74,7 +79,13 @@ export type PostgresPathwayStateConfig = PostgresPathwayStateConnectionStringCon
|
|
|
74
79
|
* const postgresState = createPostgresPathwayState({
|
|
75
80
|
* connectionString: "postgres://user:password@localhost:5432/mydb",
|
|
76
81
|
* tableName: "event_processing_state", // Optional
|
|
77
|
-
* ttlMs: 24 * 60 * 60 * 1000 // 24 hours (optional)
|
|
82
|
+
* ttlMs: 24 * 60 * 60 * 1000, // 24 hours (optional)
|
|
83
|
+
* pool: { // Optional connection pool configuration
|
|
84
|
+
* max: 20, // Maximum 20 connections in pool
|
|
85
|
+
* idle_timeout: 30, // Close idle connections after 30 seconds
|
|
86
|
+
* connect_timeout: 10, // 10 second connection timeout
|
|
87
|
+
* max_lifetime: 3600 // Connections live maximum 1 hour
|
|
88
|
+
* }
|
|
78
89
|
* });
|
|
79
90
|
*
|
|
80
91
|
* // Or with individual parameters
|
|
@@ -86,7 +97,12 @@ export type PostgresPathwayStateConfig = PostgresPathwayStateConnectionStringCon
|
|
|
86
97
|
* database: "mydb",
|
|
87
98
|
* ssl: false,
|
|
88
99
|
* tableName: "event_processing_state", // Optional
|
|
89
|
-
* ttlMs: 30 * 60 * 1000 // 30 minutes (optional)
|
|
100
|
+
* ttlMs: 30 * 60 * 1000, // 30 minutes (optional)
|
|
101
|
+
* pool: { // Optional connection pool configuration
|
|
102
|
+
* max: 15, // Maximum 15 connections in pool
|
|
103
|
+
* idle_timeout: 60, // Close idle connections after 60 seconds
|
|
104
|
+
* connect_timeout: 5 // 5 second connection timeout
|
|
105
|
+
* }
|
|
90
106
|
* });
|
|
91
107
|
*
|
|
92
108
|
* // Use with PathwaysBuilder
|
|
@@ -257,6 +273,17 @@ export declare class PostgresPathwayState implements PathwayState {
|
|
|
257
273
|
* ttlMs: 7 * 24 * 60 * 60 * 1000 // 1 week
|
|
258
274
|
* });
|
|
259
275
|
*
|
|
276
|
+
* // With connection pool configuration
|
|
277
|
+
* const state = createPostgresPathwayState({
|
|
278
|
+
* connectionString: "postgres://user:pass@localhost:5432/db",
|
|
279
|
+
* pool: {
|
|
280
|
+
* max: 25, // Maximum 25 connections
|
|
281
|
+
* idle_timeout: 120, // Close idle connections after 2 minutes
|
|
282
|
+
* connect_timeout: 15, // 15 second connection timeout
|
|
283
|
+
* max_lifetime: 1800 // Connections live maximum 30 minutes
|
|
284
|
+
* }
|
|
285
|
+
* });
|
|
286
|
+
*
|
|
260
287
|
* // Use with PathwaysBuilder
|
|
261
288
|
* const pathways = new PathwaysBuilder({
|
|
262
289
|
* // Other config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-pathway-state.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-pathway-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"postgres-pathway-state.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-pathway-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGhF;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;IAEX,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAA;IAExB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC,0CAA0C,GAC1C,oCAAoC,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IA0C3C,OAAO,CAAC,MAAM;IAzC1B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAEtD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IAE5D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAQ;IAEzB;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAQ;IAErB;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;OAIG;gBACiB,MAAM,EAAE,0BAA0B;IAMtD;;;;;OAKG;YACW,UAAU;IAyDxB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;;;;OAKG;YACW,cAAc;IAQ5B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,oBAAoB,CAGnG"}
|
|
@@ -25,7 +25,13 @@ import { createPostgresAdapter } from "./postgres-adapter.js";
|
|
|
25
25
|
* const postgresState = createPostgresPathwayState({
|
|
26
26
|
* connectionString: "postgres://user:password@localhost:5432/mydb",
|
|
27
27
|
* tableName: "event_processing_state", // Optional
|
|
28
|
-
* ttlMs: 24 * 60 * 60 * 1000 // 24 hours (optional)
|
|
28
|
+
* ttlMs: 24 * 60 * 60 * 1000, // 24 hours (optional)
|
|
29
|
+
* pool: { // Optional connection pool configuration
|
|
30
|
+
* max: 20, // Maximum 20 connections in pool
|
|
31
|
+
* idle_timeout: 30, // Close idle connections after 30 seconds
|
|
32
|
+
* connect_timeout: 10, // 10 second connection timeout
|
|
33
|
+
* max_lifetime: 3600 // Connections live maximum 1 hour
|
|
34
|
+
* }
|
|
29
35
|
* });
|
|
30
36
|
*
|
|
31
37
|
* // Or with individual parameters
|
|
@@ -37,7 +43,12 @@ import { createPostgresAdapter } from "./postgres-adapter.js";
|
|
|
37
43
|
* database: "mydb",
|
|
38
44
|
* ssl: false,
|
|
39
45
|
* tableName: "event_processing_state", // Optional
|
|
40
|
-
* ttlMs: 30 * 60 * 1000 // 30 minutes (optional)
|
|
46
|
+
* ttlMs: 30 * 60 * 1000, // 30 minutes (optional)
|
|
47
|
+
* pool: { // Optional connection pool configuration
|
|
48
|
+
* max: 15, // Maximum 15 connections in pool
|
|
49
|
+
* idle_timeout: 60, // Close idle connections after 60 seconds
|
|
50
|
+
* connect_timeout: 5 // 5 second connection timeout
|
|
51
|
+
* }
|
|
41
52
|
* });
|
|
42
53
|
*
|
|
43
54
|
* // Use with PathwaysBuilder
|
|
@@ -118,6 +129,7 @@ export class PostgresPathwayState {
|
|
|
118
129
|
// Use connection string if provided
|
|
119
130
|
this.postgres = await createPostgresAdapter({
|
|
120
131
|
connectionString: this.config.connectionString,
|
|
132
|
+
pool: this.config.pool,
|
|
121
133
|
});
|
|
122
134
|
}
|
|
123
135
|
else {
|
|
@@ -130,6 +142,7 @@ export class PostgresPathwayState {
|
|
|
130
142
|
password: this.config.password,
|
|
131
143
|
database: this.config.database,
|
|
132
144
|
ssl: this.config.ssl,
|
|
145
|
+
pool: this.config.pool,
|
|
133
146
|
});
|
|
134
147
|
}
|
|
135
148
|
// Check if the table exists
|
|
@@ -325,6 +338,17 @@ Object.defineProperty(PostgresPathwayState, "DEFAULT_TABLE_NAME", {
|
|
|
325
338
|
* ttlMs: 7 * 24 * 60 * 60 * 1000 // 1 week
|
|
326
339
|
* });
|
|
327
340
|
*
|
|
341
|
+
* // With connection pool configuration
|
|
342
|
+
* const state = createPostgresPathwayState({
|
|
343
|
+
* connectionString: "postgres://user:pass@localhost:5432/db",
|
|
344
|
+
* pool: {
|
|
345
|
+
* max: 25, // Maximum 25 connections
|
|
346
|
+
* idle_timeout: 120, // Close idle connections after 2 minutes
|
|
347
|
+
* connect_timeout: 15, // 15 second connection timeout
|
|
348
|
+
* max_lifetime: 1800 // Connections live maximum 30 minutes
|
|
349
|
+
* }
|
|
350
|
+
* });
|
|
351
|
+
*
|
|
328
352
|
* // Use with PathwaysBuilder
|
|
329
353
|
* const pathways = new PathwaysBuilder({
|
|
330
354
|
* // Other config
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowcore/pathways",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "A TypeScript Library for creating Flowcore Pathways, simplifying the integration with the flowcore platform",
|
|
5
5
|
"homepage": "https://github.com/flowcore-io/flowcore-pathways#readme",
|
|
6
6
|
"repository": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAChB,MAAM,YAAY,CAAA;AASnB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.PathwaysBuilder = exports.SessionUser = void 0;
|
|
4
7
|
const zod_1 = require("zod");
|
|
@@ -9,6 +12,7 @@ const internal_pathway_state_js_1 = require("./internal-pathway.state.js");
|
|
|
9
12
|
const logger_js_1 = require("./logger.js");
|
|
10
13
|
const constants_js_1 = require("./constants.js");
|
|
11
14
|
const types_js_1 = require("./types.js");
|
|
15
|
+
const node_process_1 = __importDefault(require("node:process"));
|
|
12
16
|
/**
|
|
13
17
|
* Default timeout for pathway processing in milliseconds (10 seconds)
|
|
14
18
|
*/
|
|
@@ -801,6 +805,7 @@ class PathwaysBuilder {
|
|
|
801
805
|
else if (this.filePathways.has(path)) {
|
|
802
806
|
const { fileId, fileName, fileContent, ...additionalProperties } = data;
|
|
803
807
|
const fileType = await (0, file_type_1.fileTypeFromBuffer)(fileContent);
|
|
808
|
+
node_process_1.default.env.DEBUG?.includes("pathways") && console.log("additionalProperties", additionalProperties);
|
|
804
809
|
eventIds = await this.fileWriters[path]({
|
|
805
810
|
fileId,
|
|
806
811
|
fileName,
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection pool configuration options for PostgreSQL
|
|
3
|
+
*/
|
|
4
|
+
export interface PostgresPoolConfig {
|
|
5
|
+
/** Maximum number of connections in the pool (default: 10) */
|
|
6
|
+
max?: number;
|
|
7
|
+
/** Maximum lifetime in seconds for connections (default: random between 45-90 minutes) */
|
|
8
|
+
max_lifetime?: number;
|
|
9
|
+
/** Idle connection timeout in seconds (default: 0 - no timeout) */
|
|
10
|
+
idle_timeout?: number;
|
|
11
|
+
/** Connect timeout in seconds (default: 30) */
|
|
12
|
+
connect_timeout?: number;
|
|
13
|
+
}
|
|
1
14
|
/**
|
|
2
15
|
* Configuration for PostgreSQL connection using a connection string
|
|
3
16
|
*/
|
|
@@ -11,6 +24,8 @@ export interface PostgresConnectionStringConfig {
|
|
|
11
24
|
password?: never;
|
|
12
25
|
database?: never;
|
|
13
26
|
ssl?: never;
|
|
27
|
+
/** Connection pool configuration */
|
|
28
|
+
pool?: PostgresPoolConfig;
|
|
14
29
|
}
|
|
15
30
|
/**
|
|
16
31
|
* Configuration for PostgreSQL connection using individual parameters
|
|
@@ -30,6 +45,8 @@ export interface PostgresParametersConfig {
|
|
|
30
45
|
database: string;
|
|
31
46
|
/** Whether to use SSL for the connection */
|
|
32
47
|
ssl?: boolean;
|
|
48
|
+
/** Connection pool configuration */
|
|
49
|
+
pool?: PostgresPoolConfig;
|
|
33
50
|
}
|
|
34
51
|
/**
|
|
35
52
|
* Configuration options for PostgreSQL connection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAmBD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;IAEX,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAA;IAExB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,8BAA8B,GAAG,wBAAwB,CAAA;AAEtF;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAExB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3B;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAErD;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD;AAoBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAA2F;IAC3G,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAA8B;IACzC,mCAAmC;IACnC,OAAO,CAAC,MAAM,CAAgB;IAC9B,yDAAyD;IACzD,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;;;OAIG;gBACS,MAAM,EAAE,cAAc;IAgBlC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B9B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAO/D;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAI5F"}
|
|
@@ -87,7 +87,23 @@ class PostgresJsAdapter {
|
|
|
87
87
|
try {
|
|
88
88
|
const module = await Promise.resolve().then(() => __importStar(require("postgres")));
|
|
89
89
|
this.postgres = module.default;
|
|
90
|
-
|
|
90
|
+
// Build postgres.js options from pool configuration
|
|
91
|
+
const postgresOptions = {};
|
|
92
|
+
if (this.config.pool) {
|
|
93
|
+
if (this.config.pool.max !== undefined) {
|
|
94
|
+
postgresOptions.max = this.config.pool.max;
|
|
95
|
+
}
|
|
96
|
+
if (this.config.pool.max_lifetime !== undefined) {
|
|
97
|
+
postgresOptions.max_lifetime = this.config.pool.max_lifetime;
|
|
98
|
+
}
|
|
99
|
+
if (this.config.pool.idle_timeout !== undefined) {
|
|
100
|
+
postgresOptions.idle_timeout = this.config.pool.idle_timeout;
|
|
101
|
+
}
|
|
102
|
+
if (this.config.pool.connect_timeout !== undefined) {
|
|
103
|
+
postgresOptions.connect_timeout = this.config.pool.connect_timeout;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
this.sql = this.postgres(this.connectionString, postgresOptions);
|
|
91
107
|
}
|
|
92
108
|
catch (error) {
|
|
93
109
|
console.error("Failed to connect to PostgreSQL:", error);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PathwayState } from "../types.js";
|
|
2
|
+
import type { PostgresPoolConfig } from "./postgres-adapter.js";
|
|
2
3
|
/**
|
|
3
4
|
* Configuration for PostgreSQL pathway state storage using a connection string
|
|
4
5
|
*/
|
|
@@ -16,6 +17,8 @@ export interface PostgresPathwayStateConnectionStringConfig {
|
|
|
16
17
|
tableName?: string;
|
|
17
18
|
/** Time-to-live in milliseconds for processed events (default: 5 minutes) */
|
|
18
19
|
ttlMs?: number;
|
|
20
|
+
/** Connection pool configuration */
|
|
21
|
+
pool?: PostgresPoolConfig;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* Configuration for PostgreSQL pathway state storage using individual parameters
|
|
@@ -39,6 +42,8 @@ export interface PostgresPathwayStateParametersConfig {
|
|
|
39
42
|
tableName?: string;
|
|
40
43
|
/** Time-to-live in milliseconds for processed events (default: 5 minutes) */
|
|
41
44
|
ttlMs?: number;
|
|
45
|
+
/** Connection pool configuration */
|
|
46
|
+
pool?: PostgresPoolConfig;
|
|
42
47
|
}
|
|
43
48
|
/**
|
|
44
49
|
* Configuration options for PostgreSQL pathway state storage
|
|
@@ -74,7 +79,13 @@ export type PostgresPathwayStateConfig = PostgresPathwayStateConnectionStringCon
|
|
|
74
79
|
* const postgresState = createPostgresPathwayState({
|
|
75
80
|
* connectionString: "postgres://user:password@localhost:5432/mydb",
|
|
76
81
|
* tableName: "event_processing_state", // Optional
|
|
77
|
-
* ttlMs: 24 * 60 * 60 * 1000 // 24 hours (optional)
|
|
82
|
+
* ttlMs: 24 * 60 * 60 * 1000, // 24 hours (optional)
|
|
83
|
+
* pool: { // Optional connection pool configuration
|
|
84
|
+
* max: 20, // Maximum 20 connections in pool
|
|
85
|
+
* idle_timeout: 30, // Close idle connections after 30 seconds
|
|
86
|
+
* connect_timeout: 10, // 10 second connection timeout
|
|
87
|
+
* max_lifetime: 3600 // Connections live maximum 1 hour
|
|
88
|
+
* }
|
|
78
89
|
* });
|
|
79
90
|
*
|
|
80
91
|
* // Or with individual parameters
|
|
@@ -86,7 +97,12 @@ export type PostgresPathwayStateConfig = PostgresPathwayStateConnectionStringCon
|
|
|
86
97
|
* database: "mydb",
|
|
87
98
|
* ssl: false,
|
|
88
99
|
* tableName: "event_processing_state", // Optional
|
|
89
|
-
* ttlMs: 30 * 60 * 1000 // 30 minutes (optional)
|
|
100
|
+
* ttlMs: 30 * 60 * 1000, // 30 minutes (optional)
|
|
101
|
+
* pool: { // Optional connection pool configuration
|
|
102
|
+
* max: 15, // Maximum 15 connections in pool
|
|
103
|
+
* idle_timeout: 60, // Close idle connections after 60 seconds
|
|
104
|
+
* connect_timeout: 5 // 5 second connection timeout
|
|
105
|
+
* }
|
|
90
106
|
* });
|
|
91
107
|
*
|
|
92
108
|
* // Use with PathwaysBuilder
|
|
@@ -257,6 +273,17 @@ export declare class PostgresPathwayState implements PathwayState {
|
|
|
257
273
|
* ttlMs: 7 * 24 * 60 * 60 * 1000 // 1 week
|
|
258
274
|
* });
|
|
259
275
|
*
|
|
276
|
+
* // With connection pool configuration
|
|
277
|
+
* const state = createPostgresPathwayState({
|
|
278
|
+
* connectionString: "postgres://user:pass@localhost:5432/db",
|
|
279
|
+
* pool: {
|
|
280
|
+
* max: 25, // Maximum 25 connections
|
|
281
|
+
* idle_timeout: 120, // Close idle connections after 2 minutes
|
|
282
|
+
* connect_timeout: 15, // 15 second connection timeout
|
|
283
|
+
* max_lifetime: 1800 // Connections live maximum 30 minutes
|
|
284
|
+
* }
|
|
285
|
+
* });
|
|
286
|
+
*
|
|
260
287
|
* // Use with PathwaysBuilder
|
|
261
288
|
* const pathways = new PathwaysBuilder({
|
|
262
289
|
* // Other config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-pathway-state.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-pathway-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"postgres-pathway-state.d.ts","sourceRoot":"","sources":["../../../src/pathways/postgres/postgres-pathway-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGhF;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD,gHAAgH;IAChH,gBAAgB,EAAE,MAAM,CAAA;IAExB,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,GAAG,CAAC,EAAE,KAAK,CAAA;IAEX,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAA;IAExB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC,0CAA0C,GAC1C,oCAAoC,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IA0C3C,OAAO,CAAC,MAAM;IAzC1B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAEtD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IAE5D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAQ;IAEzB;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAQ;IAErB;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;OAIG;gBACiB,MAAM,EAAE,0BAA0B;IAMtD;;;;;OAKG;YACW,UAAU;IAyDxB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;;;;OAKG;YACW,cAAc;IAQ5B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,oBAAoB,CAGnG"}
|
|
@@ -29,7 +29,13 @@ const postgres_adapter_js_1 = require("./postgres-adapter.js");
|
|
|
29
29
|
* const postgresState = createPostgresPathwayState({
|
|
30
30
|
* connectionString: "postgres://user:password@localhost:5432/mydb",
|
|
31
31
|
* tableName: "event_processing_state", // Optional
|
|
32
|
-
* ttlMs: 24 * 60 * 60 * 1000 // 24 hours (optional)
|
|
32
|
+
* ttlMs: 24 * 60 * 60 * 1000, // 24 hours (optional)
|
|
33
|
+
* pool: { // Optional connection pool configuration
|
|
34
|
+
* max: 20, // Maximum 20 connections in pool
|
|
35
|
+
* idle_timeout: 30, // Close idle connections after 30 seconds
|
|
36
|
+
* connect_timeout: 10, // 10 second connection timeout
|
|
37
|
+
* max_lifetime: 3600 // Connections live maximum 1 hour
|
|
38
|
+
* }
|
|
33
39
|
* });
|
|
34
40
|
*
|
|
35
41
|
* // Or with individual parameters
|
|
@@ -41,7 +47,12 @@ const postgres_adapter_js_1 = require("./postgres-adapter.js");
|
|
|
41
47
|
* database: "mydb",
|
|
42
48
|
* ssl: false,
|
|
43
49
|
* tableName: "event_processing_state", // Optional
|
|
44
|
-
* ttlMs: 30 * 60 * 1000 // 30 minutes (optional)
|
|
50
|
+
* ttlMs: 30 * 60 * 1000, // 30 minutes (optional)
|
|
51
|
+
* pool: { // Optional connection pool configuration
|
|
52
|
+
* max: 15, // Maximum 15 connections in pool
|
|
53
|
+
* idle_timeout: 60, // Close idle connections after 60 seconds
|
|
54
|
+
* connect_timeout: 5 // 5 second connection timeout
|
|
55
|
+
* }
|
|
45
56
|
* });
|
|
46
57
|
*
|
|
47
58
|
* // Use with PathwaysBuilder
|
|
@@ -122,6 +133,7 @@ class PostgresPathwayState {
|
|
|
122
133
|
// Use connection string if provided
|
|
123
134
|
this.postgres = await (0, postgres_adapter_js_1.createPostgresAdapter)({
|
|
124
135
|
connectionString: this.config.connectionString,
|
|
136
|
+
pool: this.config.pool,
|
|
125
137
|
});
|
|
126
138
|
}
|
|
127
139
|
else {
|
|
@@ -134,6 +146,7 @@ class PostgresPathwayState {
|
|
|
134
146
|
password: this.config.password,
|
|
135
147
|
database: this.config.database,
|
|
136
148
|
ssl: this.config.ssl,
|
|
149
|
+
pool: this.config.pool,
|
|
137
150
|
});
|
|
138
151
|
}
|
|
139
152
|
// Check if the table exists
|
|
@@ -330,6 +343,17 @@ Object.defineProperty(PostgresPathwayState, "DEFAULT_TABLE_NAME", {
|
|
|
330
343
|
* ttlMs: 7 * 24 * 60 * 60 * 1000 // 1 week
|
|
331
344
|
* });
|
|
332
345
|
*
|
|
346
|
+
* // With connection pool configuration
|
|
347
|
+
* const state = createPostgresPathwayState({
|
|
348
|
+
* connectionString: "postgres://user:pass@localhost:5432/db",
|
|
349
|
+
* pool: {
|
|
350
|
+
* max: 25, // Maximum 25 connections
|
|
351
|
+
* idle_timeout: 120, // Close idle connections after 2 minutes
|
|
352
|
+
* connect_timeout: 15, // 15 second connection timeout
|
|
353
|
+
* max_lifetime: 1800 // Connections live maximum 30 minutes
|
|
354
|
+
* }
|
|
355
|
+
* });
|
|
356
|
+
*
|
|
333
357
|
* // Use with PathwaysBuilder
|
|
334
358
|
* const pathways = new PathwaysBuilder({
|
|
335
359
|
* // Other config
|