@514labs/moose-lib 0.6.259 → 0.6.260-ci-5-g3b5261dd

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.
@@ -67,7 +67,17 @@ var init_commons = __esm({
67
67
  username,
68
68
  password,
69
69
  database,
70
- application: "moose"
70
+ application: "moose",
71
+ // Connection pool configuration for high load (100+ concurrent users)
72
+ max_open_connections: 50,
73
+ // Increased from default 10 to handle 100 concurrent users
74
+ request_timeout: 6e4,
75
+ // 60s timeout for HTTP requests (queries and inserts)
76
+ keep_alive: {
77
+ enabled: true,
78
+ idle_socket_ttl: 2e3
79
+ // 2s idle time (lower than default to prevent socket hang-ups)
80
+ }
71
81
  // Note: wait_end_of_query is configured per operation type, not globally
72
82
  // to preserve SELECT query performance while ensuring INSERT/DDL reliability
73
83
  });
@@ -456,7 +466,21 @@ async function getTemporalClient(temporalUrl, namespace, clientCert, clientKey,
456
466
  );
457
467
  let connectionOptions = {
458
468
  address: temporalUrl,
459
- connectTimeout: "3s"
469
+ connectTimeout: "30s",
470
+ // Increased from 3s to handle high load
471
+ // Add gRPC keepalive to prevent connection drops
472
+ channelArgs: {
473
+ "grpc.keepalive_time_ms": 3e4,
474
+ // Send keepalive every 30s
475
+ "grpc.keepalive_timeout_ms": 15e3,
476
+ // Wait 15s for keepalive response
477
+ "grpc.keepalive_permit_without_calls": 1,
478
+ // Allow keepalive without active calls
479
+ "grpc.http2.max_pings_without_data": 0,
480
+ // No limit on pings without data
481
+ "grpc.http2.min_time_between_pings_ms": 1e4
482
+ // Min 10s between pings
483
+ }
460
484
  };
461
485
  if (clientCert && clientKey) {
462
486
  console.log("Using TLS for secure Temporal");
@@ -2555,7 +2579,22 @@ async function createTemporalConnection(logger2, temporalConfig) {
2555
2579
  `<workflow> Using temporal_url: ${temporalConfig.url} and namespace: ${temporalConfig.namespace}`
2556
2580
  );
2557
2581
  let connectionOptions = {
2558
- address: temporalConfig.url
2582
+ address: temporalConfig.url,
2583
+ connectTimeout: 3e4,
2584
+ // 30s connection timeout
2585
+ // Add gRPC keepalive for worker stability
2586
+ channelArgs: {
2587
+ "grpc.keepalive_time_ms": 3e4,
2588
+ // Send keepalive every 30s
2589
+ "grpc.keepalive_timeout_ms": 15e3,
2590
+ // Wait 15s for keepalive response
2591
+ "grpc.keepalive_permit_without_calls": 1,
2592
+ // Allow keepalive without active calls
2593
+ "grpc.http2.max_pings_without_data": 0,
2594
+ // No limit on pings without data
2595
+ "grpc.http2.min_time_between_pings_ms": 1e4
2596
+ // Min 10s between pings
2597
+ }
2559
2598
  };
2560
2599
  if (temporalConfig.clientCert && temporalConfig.clientKey) {
2561
2600
  logger2.info("Using TLS for secure Temporal");