@archlast/server 0.1.8 → 0.1.9
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/README.md +104 -100
- package/dist/admin/auth.d.ts +24 -5
- package/dist/admin/auth.js +49 -25
- package/dist/admin/schema.d.ts +122 -32
- package/dist/admin/schema.js +131 -95
- package/dist/admin/seed.d.ts +1 -1
- package/dist/admin/seed.js +79 -47
- package/dist/auth/api-key-resolver.d.ts +1 -1
- package/dist/auth/api-key-resolver.js +7 -3
- package/dist/auth/archlast-auth-adapter.d.ts +2 -5
- package/dist/auth/archlast-auth-adapter.js +1 -1
- package/dist/auth/better-auth-adapter.d.ts.map +1 -1
- package/dist/auth/better-auth-adapter.js +41 -26
- package/dist/auth/better-auth-adapter.js.map +1 -1
- package/dist/auth/better-auth-admin.d.ts.map +1 -1
- package/dist/auth/better-auth-admin.js +1 -1
- package/dist/auth/better-auth-admin.js.map +1 -1
- package/dist/auth/better-auth-api-key-resolver.js +1 -1
- package/dist/auth/better-auth-api-key-resolver.js.map +1 -1
- package/dist/auth/better-auth-instance.d.ts +249 -301
- package/dist/auth/better-auth-instance.d.ts.map +1 -1
- package/dist/auth/better-auth-instance.js +11 -0
- package/dist/auth/better-auth-instance.js.map +1 -1
- package/dist/auth/better-auth-seed.d.ts +5 -2
- package/dist/auth/better-auth-seed.js +31 -22
- package/dist/auth/better-auth-session-adapter.d.ts.map +1 -1
- package/dist/auth/better-auth-session-adapter.js +14 -10
- package/dist/auth/better-auth-session-adapter.js.map +1 -1
- package/dist/auth/errors.d.ts.map +1 -1
- package/dist/auth/errors.js +11 -11
- package/dist/auth/errors.js.map +1 -1
- package/dist/auth/oauth-proxy.d.ts +5 -2
- package/dist/auth/oauth-proxy.js +23 -27
- package/dist/auth/resolver.d.ts.map +1 -1
- package/dist/auth/resolver.js.map +1 -1
- package/dist/auth/role-helpers.d.ts +1 -1
- package/dist/auth/role-helpers.d.ts.map +1 -1
- package/dist/auth/role-helpers.js.map +1 -1
- package/dist/auth/session-manager.d.ts +2 -5
- package/dist/auth/session-manager.js +16 -6
- package/dist/auth/system/better-auth-schema.d.ts.map +1 -1
- package/dist/auth/system/better-auth-schema.js +6 -23
- package/dist/auth/system/better-auth-schema.js.map +1 -1
- package/dist/cache/circuit-breaker.d.ts +81 -0
- package/dist/cache/circuit-breaker.d.ts.map +1 -0
- package/dist/cache/circuit-breaker.js +170 -0
- package/dist/cache/circuit-breaker.js.map +1 -0
- package/dist/cache/client.d.ts +6 -3
- package/dist/cache/client.d.ts.map +1 -1
- package/dist/cache/client.js +12 -53
- package/dist/cache/client.js.map +1 -1
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +5 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/invalidation-queue.d.ts +63 -0
- package/dist/cache/invalidation-queue.d.ts.map +1 -0
- package/dist/cache/invalidation-queue.js +196 -0
- package/dist/cache/invalidation-queue.js.map +1 -0
- package/dist/cache/layers.d.ts +14 -4
- package/dist/cache/layers.d.ts.map +1 -1
- package/dist/cache/layers.js +66 -72
- package/dist/cache/layers.js.map +1 -1
- package/dist/cache/manager.d.ts.map +1 -1
- package/dist/cache/manager.js +6 -41
- package/dist/cache/manager.js.map +1 -1
- package/dist/cache/protocol.d.ts +4 -39
- package/dist/cache/protocol.d.ts.map +1 -1
- package/dist/cache/protocol.js.map +1 -1
- package/dist/cache/redis-adapter.d.ts +103 -0
- package/dist/cache/redis-adapter.d.ts.map +1 -0
- package/dist/cache/redis-adapter.js +424 -0
- package/dist/cache/redis-adapter.js.map +1 -0
- package/dist/cache/run-sidecar.js +10 -1
- package/dist/cache/run-sidecar.js.map +1 -1
- package/dist/cache/sidecar-server.d.ts +51 -1
- package/dist/cache/sidecar-server.d.ts.map +1 -1
- package/dist/cache/sidecar-server.js +368 -22
- package/dist/cache/sidecar-server.js.map +1 -1
- package/dist/cache/store.d.ts +43 -0
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +69 -76
- package/dist/cache/store.js.map +1 -1
- package/dist/cache/strategies.d.ts +2 -9
- package/dist/cache/strategies.d.ts.map +1 -1
- package/dist/cache/types.d.ts +130 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +60 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/config/bullmq.d.ts +16 -0
- package/dist/config/bullmq.d.ts.map +1 -0
- package/dist/config/bullmq.js +103 -0
- package/dist/config/bullmq.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +80 -6
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +71 -6
- package/dist/config/schema.js.map +1 -1
- package/dist/config/service.d.ts +54 -4
- package/dist/config/service.d.ts.map +1 -1
- package/dist/config/service.js +56 -2
- package/dist/config/service.js.map +1 -1
- package/dist/controllers/admin/admin-tokens.controller.d.ts +131 -115
- package/dist/controllers/admin/admin-tokens.controller.js +117 -98
- package/dist/controllers/admin/api-keys.controller.d.ts +1 -1
- package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -1
- package/dist/controllers/admin/api-keys.controller.js.map +1 -1
- package/dist/controllers/admin/app-users.controller.d.ts +274 -243
- package/dist/controllers/admin/app-users.controller.js +301 -257
- package/dist/controllers/admin/auth.controller.d.ts +260 -236
- package/dist/controllers/admin/auth.controller.js +197 -174
- package/dist/controllers/admin/backup.controller.d.ts.map +1 -1
- package/dist/controllers/admin/backup.controller.js.map +1 -1
- package/dist/controllers/admin/settings.controller.d.ts +1 -1
- package/dist/controllers/admin/storage-stats.controller.d.ts +63 -0
- package/dist/controllers/admin/storage-stats.controller.d.ts.map +1 -0
- package/dist/controllers/admin/storage-stats.controller.js +33 -0
- package/dist/controllers/admin/storage-stats.controller.js.map +1 -0
- package/dist/controllers/admin/tenants.controller.d.ts.map +1 -1
- package/dist/controllers/admin/tenants.controller.js.map +1 -1
- package/dist/controllers/admin/users.controller.d.ts +1 -1
- package/dist/controllers/admin/users.controller.d.ts.map +1 -1
- package/dist/controllers/admin/users.controller.js.map +1 -1
- package/dist/controllers/auth.controller.d.ts +289 -271
- package/dist/controllers/auth.controller.js +275 -226
- package/dist/controllers/crud-generator.controller.d.ts.map +1 -1
- package/dist/controllers/crud-generator.controller.js +127 -125
- package/dist/controllers/crud-generator.controller.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/introspection.controller.d.ts +642 -0
- package/dist/controllers/introspection.controller.d.ts.map +1 -1
- package/dist/controllers/introspection.controller.js +611 -0
- package/dist/controllers/introspection.controller.js.map +1 -1
- package/dist/controllers/invite.controller.d.ts +190 -170
- package/dist/controllers/invite.controller.js +183 -164
- package/dist/controllers/mfa.controller.d.ts +205 -183
- package/dist/controllers/mfa.controller.js +131 -111
- package/dist/controllers/otp.controller.d.ts +194 -171
- package/dist/controllers/otp.controller.js +192 -175
- package/dist/controllers/storage.controller.d.ts.map +1 -1
- package/dist/controllers/storage.controller.js.map +1 -1
- package/dist/controllers/system.controller.d.ts +5 -3
- package/dist/controllers/system.controller.d.ts.map +1 -1
- package/dist/controllers/system.controller.js +4 -2
- package/dist/controllers/system.controller.js.map +1 -1
- package/dist/controllers/tenant.controller.d.ts +258 -227
- package/dist/controllers/tenant.controller.js +224 -200
- package/dist/db/cachedclient.d.ts +6 -11
- package/dist/db/cachedclient.d.ts.map +1 -1
- package/dist/db/cachedclient.js +79 -43
- package/dist/db/cachedclient.js.map +1 -1
- package/dist/db/distributed-client.d.ts +79 -24
- package/dist/db/distributed-client.js +23 -24
- package/dist/db/factory.d.ts +3 -8
- package/dist/db/factory.d.ts.map +1 -1
- package/dist/db/factory.js +3 -22
- package/dist/db/factory.js.map +1 -1
- package/dist/db/socket-client.d.ts +7 -0
- package/dist/db/socket-client.d.ts.map +1 -1
- package/dist/db/socket-client.js +140 -11
- package/dist/db/socket-client.js.map +1 -1
- package/dist/deployment/handler.d.ts +10 -2
- package/dist/deployment/handler.d.ts.map +1 -1
- package/dist/deployment/handler.js +70 -15
- package/dist/deployment/handler.js.map +1 -1
- package/dist/deployment/persistence.d.ts.map +1 -1
- package/dist/deployment/persistence.js +6 -1
- package/dist/deployment/persistence.js.map +1 -1
- package/dist/docker/compose.d.ts.map +1 -1
- package/dist/docker/compose.js +76 -0
- package/dist/docker/compose.js.map +1 -1
- package/dist/engine/runner.d.ts.map +1 -1
- package/dist/engine/runner.js +0 -43
- package/dist/engine/runner.js.map +1 -1
- package/dist/functions/built-in/auth-apikey.d.ts.map +1 -1
- package/dist/functions/built-in/auth-apikey.js.map +1 -1
- package/dist/functions/built-in/system-cache.d.ts.map +1 -1
- package/dist/functions/built-in/system-cache.js +6 -31
- package/dist/functions/built-in/system-cache.js.map +1 -1
- package/dist/functions/built-in/system-data.d.ts.map +1 -1
- package/dist/functions/built-in/system-data.js +4 -2
- package/dist/functions/built-in/system-data.js.map +1 -1
- package/dist/functions/definition.d.ts.map +1 -1
- package/dist/functions/definition.js +6 -2
- package/dist/functions/definition.js.map +1 -1
- package/dist/http/routes/metrics.d.ts +42 -0
- package/dist/http/routes/metrics.d.ts.map +1 -0
- package/dist/http/routes/metrics.js +29 -0
- package/dist/http/routes/metrics.js.map +1 -0
- package/dist/http/server.d.ts +1 -0
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +41 -3
- package/dist/http/server.js.map +1 -1
- package/dist/ipc/socket-bridge.d.ts +1 -0
- package/dist/ipc/socket-bridge.d.ts.map +1 -1
- package/dist/ipc/socket-bridge.js +5 -1
- package/dist/ipc/socket-bridge.js.map +1 -1
- package/dist/jobs/bullmq-adapter.d.ts +154 -0
- package/dist/jobs/bullmq-adapter.d.ts.map +1 -0
- package/dist/jobs/bullmq-adapter.js +688 -0
- package/dist/jobs/bullmq-adapter.js.map +1 -0
- package/dist/jobs/bullmq-circuit-breaker.d.ts +133 -0
- package/dist/jobs/bullmq-circuit-breaker.d.ts.map +1 -0
- package/dist/jobs/bullmq-circuit-breaker.js +323 -0
- package/dist/jobs/bullmq-circuit-breaker.js.map +1 -0
- package/dist/jobs/bullmq-dlq-manager.d.ts +155 -0
- package/dist/jobs/bullmq-dlq-manager.d.ts.map +1 -0
- package/dist/jobs/bullmq-dlq-manager.js +325 -0
- package/dist/jobs/bullmq-dlq-manager.js.map +1 -0
- package/dist/jobs/bullmq-metrics.d.ts +104 -0
- package/dist/jobs/bullmq-metrics.d.ts.map +1 -0
- package/dist/jobs/bullmq-metrics.js +323 -0
- package/dist/jobs/bullmq-metrics.js.map +1 -0
- package/dist/jobs/bullmq-priority-service.d.ts +173 -0
- package/dist/jobs/bullmq-priority-service.d.ts.map +1 -0
- package/dist/jobs/bullmq-priority-service.js +390 -0
- package/dist/jobs/bullmq-priority-service.js.map +1 -0
- package/dist/jobs/bullmq-scheduler.d.ts +111 -0
- package/dist/jobs/bullmq-scheduler.d.ts.map +1 -0
- package/dist/jobs/bullmq-scheduler.js +300 -0
- package/dist/jobs/bullmq-scheduler.js.map +1 -0
- package/dist/jobs/bullmq-worker.d.ts +155 -0
- package/dist/jobs/bullmq-worker.d.ts.map +1 -0
- package/dist/jobs/bullmq-worker.js +651 -0
- package/dist/jobs/bullmq-worker.js.map +1 -0
- package/dist/jobs/circuit-breaker.d.ts +120 -0
- package/dist/jobs/circuit-breaker.d.ts.map +1 -0
- package/dist/jobs/circuit-breaker.js +262 -0
- package/dist/jobs/circuit-breaker.js.map +1 -0
- package/dist/jobs/index.d.ts +1 -1
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js.map +1 -1
- package/dist/jobs/queue.d.ts +120 -1
- package/dist/jobs/queue.d.ts.map +1 -1
- package/dist/jobs/queue.js +487 -9
- package/dist/jobs/queue.js.map +1 -1
- package/dist/jobs/redis-connection.d.ts +50 -0
- package/dist/jobs/redis-connection.d.ts.map +1 -0
- package/dist/jobs/redis-connection.js +123 -0
- package/dist/jobs/redis-connection.js.map +1 -0
- package/dist/jobs/run-scheduler.js +163 -10
- package/dist/jobs/run-scheduler.js.map +1 -1
- package/dist/jobs/run-worker.js +101 -9
- package/dist/jobs/run-worker.js.map +1 -1
- package/dist/jobs/worker-thread.d.ts +6 -0
- package/dist/jobs/worker-thread.d.ts.map +1 -1
- package/dist/jobs/worker-thread.js +37 -8
- package/dist/jobs/worker-thread.js.map +1 -1
- package/dist/jobs/worker.d.ts +33 -0
- package/dist/jobs/worker.d.ts.map +1 -1
- package/dist/jobs/worker.js +358 -115
- package/dist/jobs/worker.js.map +1 -1
- package/dist/linq/async-enumerable.d.ts.map +1 -1
- package/dist/linq/async-enumerable.js.map +1 -1
- package/dist/linq/enumerable.d.ts.map +1 -1
- package/dist/linq/enumerable.js +10 -10
- package/dist/linq/enumerable.js.map +1 -1
- package/dist/metrics/collector.d.ts +26 -0
- package/dist/metrics/collector.d.ts.map +1 -0
- package/dist/metrics/collector.js +103 -0
- package/dist/metrics/collector.js.map +1 -0
- package/dist/polling/updates.controller.d.ts +57 -0
- package/dist/polling/updates.controller.d.ts.map +1 -0
- package/dist/polling/updates.controller.js +70 -0
- package/dist/polling/updates.controller.js.map +1 -0
- package/dist/repository/db-set.d.ts.map +1 -1
- package/dist/repository/db-set.js +12 -8
- package/dist/repository/db-set.js.map +1 -1
- package/dist/repository/ef-core.d.ts.map +1 -1
- package/dist/repository/ef-core.js +6 -6
- package/dist/repository/ef-core.js.map +1 -1
- package/dist/repository/factory.d.ts +1 -1
- package/dist/repository/factory.d.ts.map +1 -1
- package/dist/repository/factory.js.map +1 -1
- package/dist/repository/interfaces.d.ts.map +1 -1
- package/dist/repository/interfaces.js.map +1 -1
- package/dist/repository/queryable.d.ts.map +1 -1
- package/dist/repository/queryable.js.map +1 -1
- package/dist/rpc/adapter.d.ts.map +1 -1
- package/dist/rpc/adapter.js.map +1 -1
- package/dist/rpc/router.d.ts +2 -2
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/router.js +1 -1
- package/dist/rpc/router.js.map +1 -1
- package/dist/schema/relationship-types.d.ts +7 -2
- package/dist/schema/relationship-types.js +1 -1
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/services/admin/app-users.service.d.ts +1 -1
- package/dist/services/admin/app-users.service.js +31 -38
- package/dist/services/admin/auth.service.d.ts +1 -1
- package/dist/services/admin/auth.service.js +11 -5
- package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -1
- package/dist/services/admin/backup/BackupOrchestrator.js +4 -7
- package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -1
- package/dist/services/admin/backup/SqliteGenerator.js +8 -8
- package/dist/services/admin/backup/StorageStreamer.d.ts +3 -3
- package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -1
- package/dist/services/admin/backup/StorageStreamer.js +16 -55
- package/dist/services/admin/backup/StorageStreamer.js.map +1 -1
- package/dist/services/admin/backup/ZipComposer.d.ts +2 -0
- package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -1
- package/dist/services/admin/backup/ZipComposer.js +23 -0
- package/dist/services/admin/backup/ZipComposer.js.map +1 -1
- package/dist/services/admin/backup.service.d.ts.map +1 -1
- package/dist/services/admin/backup.service.js.map +1 -1
- package/dist/services/admin/data.service.d.ts.map +1 -1
- package/dist/services/admin/data.service.js +287 -286
- package/dist/services/admin/data.service.js.map +1 -1
- package/dist/services/admin/tenants.service.d.ts.map +1 -1
- package/dist/services/admin/tenants.service.js.map +1 -1
- package/dist/services/auth.service.d.ts +2 -3
- package/dist/services/auth.service.js +16 -16
- package/dist/services/invite.service.d.ts +1 -1
- package/dist/services/invite.service.js +17 -15
- package/dist/services/storage.service.d.ts.map +1 -1
- package/dist/services/storage.service.js +35 -4
- package/dist/services/storage.service.js.map +1 -1
- package/dist/services/system.service.d.ts.map +1 -1
- package/dist/services/system.service.js +1 -1
- package/dist/services/system.service.js.map +1 -1
- package/dist/services/tenant.service.d.ts +1 -1
- package/dist/services/tenant.service.js +43 -31
- package/dist/sse/subscriptions.controller.d.ts +57 -0
- package/dist/sse/subscriptions.controller.d.ts.map +1 -0
- package/dist/sse/subscriptions.controller.js +127 -0
- package/dist/sse/subscriptions.controller.js.map +1 -0
- package/dist/startup/bootstrap.d.ts +13 -2
- package/dist/startup/bootstrap.d.ts.map +1 -1
- package/dist/startup/bootstrap.js +85 -13
- package/dist/startup/bootstrap.js.map +1 -1
- package/dist/storage/s3-backend.d.ts.map +1 -1
- package/dist/storage/s3-backend.js +3 -3
- package/dist/storage/s3-backend.js.map +1 -1
- package/dist/websocket/server.d.ts.map +1 -1
- package/dist/websocket/server.js +14 -3
- package/dist/websocket/server.js.map +1 -1
- package/docker/README.md +309 -11
- package/package.json +214 -210
- package/templates/.env.example +115 -55
- package/templates/archlast.config.js +51 -37
- package/templates/docker-compose.prod.yml +32 -15
- package/templates/docker-compose.yml +117 -33
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import Redis from "ioredis";
|
|
2
|
+
export interface RedisConnectionOptions {
|
|
3
|
+
host?: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
password?: string;
|
|
6
|
+
db?: number;
|
|
7
|
+
maxRetriesPerRequest?: number | null;
|
|
8
|
+
enableOfflineQueue?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates a Redis connection with the specified options.
|
|
12
|
+
* Follows BullMQ requirements for worker connections:
|
|
13
|
+
* - maxRetriesPerRequest must be null for workers
|
|
14
|
+
* - enableOfflineQueue should be false for workers
|
|
15
|
+
*
|
|
16
|
+
* @param options - Connection configuration options
|
|
17
|
+
* @returns Configured Redis instance
|
|
18
|
+
*/
|
|
19
|
+
export declare function createRedisConnection(options?: RedisConnectionOptions): Redis;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a Redis connection for cache operations (DB 0).
|
|
22
|
+
* Uses standard retry configuration suitable for cache operations.
|
|
23
|
+
*
|
|
24
|
+
* @returns Redis instance configured for cache operations
|
|
25
|
+
*/
|
|
26
|
+
export declare function createCacheRedisConnection(): Redis;
|
|
27
|
+
/**
|
|
28
|
+
* Creates a Redis connection for BullMQ workers (DB 1).
|
|
29
|
+
* Uses maxRetriesPerRequest: null as required by BullMQ workers.
|
|
30
|
+
*
|
|
31
|
+
* @returns Redis instance configured for BullMQ workers
|
|
32
|
+
*/
|
|
33
|
+
export declare function createBullMQRedisConnection(): Redis;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a Redis connection for BullMQ producers (DB 1).
|
|
36
|
+
* Uses maxRetriesPerRequest: 3 for reliable job submission.
|
|
37
|
+
*
|
|
38
|
+
* @returns Redis instance configured for BullMQ producers
|
|
39
|
+
*/
|
|
40
|
+
export declare function createBullMQProducerConnection(): Redis;
|
|
41
|
+
/**
|
|
42
|
+
* Checks the health of a Redis connection.
|
|
43
|
+
* Tests connectivity using the PING command with a timeout.
|
|
44
|
+
*
|
|
45
|
+
* @param redis - Redis instance to check
|
|
46
|
+
* @param timeoutMs - Timeout in milliseconds (default: 5000)
|
|
47
|
+
* @returns Promise<boolean> - true if healthy, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
export declare function checkRedisHealth(redis: Redis, timeoutMs?: number): Promise<boolean>;
|
|
50
|
+
//# sourceMappingURL=redis-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-connection.d.ts","sourceRoot":"","sources":["../../src/jobs/redis-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAUD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,KAAK,CA8BjF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,KAAK,CAMlD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,KAAK,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,KAAK,CAMtD;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B/F"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createRedisConnection = createRedisConnection;
|
|
7
|
+
exports.createCacheRedisConnection = createCacheRedisConnection;
|
|
8
|
+
exports.createBullMQRedisConnection = createBullMQRedisConnection;
|
|
9
|
+
exports.createBullMQProducerConnection = createBullMQProducerConnection;
|
|
10
|
+
exports.checkRedisHealth = checkRedisHealth;
|
|
11
|
+
const ioredis_1 = __importDefault(require("ioredis"));
|
|
12
|
+
const DEFAULT_CONFIG = {
|
|
13
|
+
host: process.env.REDIS_HOST || "localhost",
|
|
14
|
+
port: parseInt(process.env.REDIS_PORT || "6379", 10),
|
|
15
|
+
password: process.env.REDIS_PASSWORD,
|
|
16
|
+
cacheDb: 0,
|
|
17
|
+
bullmqDb: parseInt(process.env.BULLMQ_REDIS_DB || "1", 10),
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Redis connection with the specified options.
|
|
21
|
+
* Follows BullMQ requirements for worker connections:
|
|
22
|
+
* - maxRetriesPerRequest must be null for workers
|
|
23
|
+
* - enableOfflineQueue should be false for workers
|
|
24
|
+
*
|
|
25
|
+
* @param options - Connection configuration options
|
|
26
|
+
* @returns Configured Redis instance
|
|
27
|
+
*/
|
|
28
|
+
function createRedisConnection(options = {}) {
|
|
29
|
+
const { host = DEFAULT_CONFIG.host, port = DEFAULT_CONFIG.port, password = DEFAULT_CONFIG.password, db = DEFAULT_CONFIG.cacheDb, maxRetriesPerRequest = 3, enableOfflineQueue = true, } = options;
|
|
30
|
+
return new ioredis_1.default({
|
|
31
|
+
host,
|
|
32
|
+
port,
|
|
33
|
+
password,
|
|
34
|
+
db,
|
|
35
|
+
maxRetriesPerRequest,
|
|
36
|
+
enableReadyCheck: true,
|
|
37
|
+
enableOfflineQueue,
|
|
38
|
+
retryStrategy: (times) => {
|
|
39
|
+
const delay = Math.min(times * 50, 2000);
|
|
40
|
+
return delay;
|
|
41
|
+
},
|
|
42
|
+
reconnectOnError: (err) => {
|
|
43
|
+
const targetError = "READONLY";
|
|
44
|
+
if (err.message.includes(targetError)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Creates a Redis connection for cache operations (DB 0).
|
|
53
|
+
* Uses standard retry configuration suitable for cache operations.
|
|
54
|
+
*
|
|
55
|
+
* @returns Redis instance configured for cache operations
|
|
56
|
+
*/
|
|
57
|
+
function createCacheRedisConnection() {
|
|
58
|
+
return createRedisConnection({
|
|
59
|
+
db: DEFAULT_CONFIG.cacheDb,
|
|
60
|
+
maxRetriesPerRequest: 3,
|
|
61
|
+
enableOfflineQueue: true,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates a Redis connection for BullMQ workers (DB 1).
|
|
66
|
+
* Uses maxRetriesPerRequest: null as required by BullMQ workers.
|
|
67
|
+
*
|
|
68
|
+
* @returns Redis instance configured for BullMQ workers
|
|
69
|
+
*/
|
|
70
|
+
function createBullMQRedisConnection() {
|
|
71
|
+
return createRedisConnection({
|
|
72
|
+
db: DEFAULT_CONFIG.bullmqDb,
|
|
73
|
+
maxRetriesPerRequest: null,
|
|
74
|
+
enableOfflineQueue: false,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Creates a Redis connection for BullMQ producers (DB 1).
|
|
79
|
+
* Uses maxRetriesPerRequest: 3 for reliable job submission.
|
|
80
|
+
*
|
|
81
|
+
* @returns Redis instance configured for BullMQ producers
|
|
82
|
+
*/
|
|
83
|
+
function createBullMQProducerConnection() {
|
|
84
|
+
return createRedisConnection({
|
|
85
|
+
db: DEFAULT_CONFIG.bullmqDb,
|
|
86
|
+
maxRetriesPerRequest: 3,
|
|
87
|
+
enableOfflineQueue: true,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Checks the health of a Redis connection.
|
|
92
|
+
* Tests connectivity using the PING command with a timeout.
|
|
93
|
+
*
|
|
94
|
+
* @param redis - Redis instance to check
|
|
95
|
+
* @param timeoutMs - Timeout in milliseconds (default: 5000)
|
|
96
|
+
* @returns Promise<boolean> - true if healthy, false otherwise
|
|
97
|
+
*/
|
|
98
|
+
async function checkRedisHealth(redis, timeoutMs = 5000) {
|
|
99
|
+
if (!redis) {
|
|
100
|
+
console.warn("Redis health check failed: Redis instance is null");
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// Check if client is in ready state
|
|
104
|
+
if (redis.status !== "ready") {
|
|
105
|
+
console.warn(`Redis health check failed: Redis status is ${redis.status}`);
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
// Race between PING command and timeout
|
|
110
|
+
const pingPromise = redis.ping();
|
|
111
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
112
|
+
setTimeout(() => reject(new Error("Health check timeout")), timeoutMs);
|
|
113
|
+
});
|
|
114
|
+
await Promise.race([pingPromise, timeoutPromise]);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
119
|
+
console.warn(`Redis health check failed: ${message}`);
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=redis-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-connection.js","sourceRoot":"","sources":["../../src/jobs/redis-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,18 @@ const factory_js_1 = require("../db/factory.js");
|
|
|
14
14
|
const cachedclient_js_1 = require("../db/cachedclient.js");
|
|
15
15
|
const runtime_loader_js_1 = require("./runtime-loader.js");
|
|
16
16
|
const manager_js_1 = require("../storage/manager.js");
|
|
17
|
-
const fs_backend_js_1 = __importDefault(require("../storage/fs-backend.js"));
|
|
18
17
|
const s3_backend_js_1 = __importDefault(require("../storage/s3-backend.js"));
|
|
19
18
|
const paths_js_1 = require("../config/paths.js");
|
|
20
19
|
const index_js_1 = require("../config/index.js");
|
|
21
20
|
const path_1 = require("path");
|
|
21
|
+
// BullMQ imports
|
|
22
|
+
const bullmq_adapter_js_1 = require("./bullmq-adapter.js");
|
|
23
|
+
const bullmq_scheduler_js_1 = require("./bullmq-scheduler.js");
|
|
24
|
+
const redis_connection_js_1 = require("./redis-connection.js");
|
|
22
25
|
const config = (0, index_js_1.loadServerConfig)();
|
|
23
26
|
(0, paths_js_1.ensureAllDbDirectories)(config.paths);
|
|
27
|
+
// Feature flag for BullMQ
|
|
28
|
+
const useBullMQ = process.env.BULLMQ_ENABLED !== "false";
|
|
24
29
|
/**
|
|
25
30
|
* Scheduler entrypoint.
|
|
26
31
|
*
|
|
@@ -76,23 +81,171 @@ async function start() {
|
|
|
76
81
|
message: "[Scheduler] Failed to connect to IPC sidecar, continuing without IPC",
|
|
77
82
|
});
|
|
78
83
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
if (useBullMQ) {
|
|
85
|
+
// BullMQ Scheduler Path
|
|
86
|
+
logger_js_1.logger.log({
|
|
87
|
+
timestamp: Date.now(),
|
|
88
|
+
level: "info",
|
|
89
|
+
kind: "system",
|
|
90
|
+
message: "[Scheduler] Initializing BullMQ scheduler...",
|
|
91
|
+
});
|
|
92
|
+
// Create Redis connection for BullMQ
|
|
93
|
+
const redisConnection = (0, redis_connection_js_1.createBullMQProducerConnection)();
|
|
94
|
+
// Use database client for BullMQJobQueue (required by interface)
|
|
95
|
+
const rawDb = (0, factory_js_1.createDatabaseClient)();
|
|
96
|
+
// Create BullMQ job queue adapter
|
|
97
|
+
const jobQueue = new bullmq_adapter_js_1.BullMQJobQueue({
|
|
98
|
+
queueName: process.env.JOB_QUEUE_NAME ?? "archlast-jobs",
|
|
99
|
+
db: rawDb,
|
|
100
|
+
});
|
|
101
|
+
// Create BullMQ scheduler
|
|
102
|
+
const scheduler = new bullmq_scheduler_js_1.BullMQScheduler(jobQueue, redisConnection);
|
|
103
|
+
// Subscribe to sys:schedule channel for IPC commands
|
|
104
|
+
if (ipcClient) {
|
|
105
|
+
try {
|
|
106
|
+
await ipcClient.subscribe("sys:schedule", async (payload) => {
|
|
107
|
+
logger_js_1.logger.log({
|
|
108
|
+
timestamp: Date.now(),
|
|
109
|
+
level: "info",
|
|
110
|
+
kind: "system",
|
|
111
|
+
message: "[Scheduler] Received schedule command via IPC:",
|
|
112
|
+
context: { data: [payload.type] },
|
|
113
|
+
});
|
|
114
|
+
try {
|
|
115
|
+
if (payload.type === "ADD_JOB") {
|
|
116
|
+
// Extract schedule parameters
|
|
117
|
+
const { name, cron, preset, interval, payload: jobPayload, oneTime, maxAttempts, } = payload;
|
|
118
|
+
let job;
|
|
119
|
+
if (oneTime) {
|
|
120
|
+
// Import SchedulePreset from bullmq-scheduler
|
|
121
|
+
const { SchedulePreset } = await import("./bullmq-scheduler.js");
|
|
122
|
+
job = {
|
|
123
|
+
name,
|
|
124
|
+
preset: SchedulePreset.RunNow,
|
|
125
|
+
payload: jobPayload,
|
|
126
|
+
maxAttempts,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else if (preset) {
|
|
130
|
+
job = { name, preset, payload: jobPayload, maxAttempts };
|
|
131
|
+
}
|
|
132
|
+
else if (interval) {
|
|
133
|
+
job = {
|
|
134
|
+
name,
|
|
135
|
+
cron: (0, scheduler_js_1.intervalToCron)(interval),
|
|
136
|
+
payload: jobPayload,
|
|
137
|
+
maxAttempts,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
job = {
|
|
142
|
+
name,
|
|
143
|
+
cron: cron || "* * * * *",
|
|
144
|
+
payload: jobPayload,
|
|
145
|
+
maxAttempts,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
// Delegate to BullMQ scheduler
|
|
149
|
+
scheduler.add(job);
|
|
150
|
+
logger_js_1.logger.log({
|
|
151
|
+
timestamp: Date.now(),
|
|
152
|
+
level: "info",
|
|
153
|
+
kind: "system",
|
|
154
|
+
message: "[Scheduler] Job scheduled:",
|
|
155
|
+
context: name,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
else if (payload.type === "CANCEL_JOB") {
|
|
159
|
+
scheduler.cancel(payload.jobId);
|
|
160
|
+
logger_js_1.logger.log({
|
|
161
|
+
timestamp: Date.now(),
|
|
162
|
+
level: "info",
|
|
163
|
+
kind: "system",
|
|
164
|
+
message: "[Scheduler] Job cancelled:",
|
|
165
|
+
context: { data: [payload.jobId] },
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
logger_js_1.logger.log({
|
|
171
|
+
timestamp: Date.now(),
|
|
172
|
+
level: "error",
|
|
173
|
+
kind: "system",
|
|
174
|
+
message: "[Scheduler] Error processing schedule command:",
|
|
175
|
+
context: { err },
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
logger_js_1.logger.log({
|
|
180
|
+
timestamp: Date.now(),
|
|
181
|
+
level: "info",
|
|
182
|
+
kind: "system",
|
|
183
|
+
message: "[Scheduler] Subscribed to sys:schedule channel",
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
logger_js_1.logger.log({
|
|
188
|
+
timestamp: Date.now(),
|
|
189
|
+
level: "error",
|
|
190
|
+
kind: "system",
|
|
191
|
+
message: "[Scheduler] Failed to subscribe to sys:schedule:",
|
|
192
|
+
context: { err },
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
logger_js_1.logger.log({
|
|
197
|
+
timestamp: Date.now(),
|
|
198
|
+
level: "info",
|
|
199
|
+
kind: "system",
|
|
200
|
+
message: "[Scheduler] BullMQ scheduler started",
|
|
201
|
+
});
|
|
202
|
+
// Handle graceful shutdown
|
|
203
|
+
const signals = ["SIGINT", "SIGTERM"];
|
|
204
|
+
signals.forEach((sig) => process.on(sig, () => {
|
|
205
|
+
logger_js_1.logger.log({
|
|
206
|
+
timestamp: Date.now(),
|
|
207
|
+
level: "info",
|
|
208
|
+
kind: "system",
|
|
209
|
+
message: "[Scheduler] Shutting down BullMQ scheduler...",
|
|
210
|
+
});
|
|
211
|
+
scheduler.stopAll();
|
|
212
|
+
jobQueue.dispose();
|
|
213
|
+
process.exit(0);
|
|
214
|
+
}));
|
|
215
|
+
// Keep process alive with heartbeat interval
|
|
216
|
+
const heartbeatInterval = setInterval(() => {
|
|
217
|
+
// No-op to keep event loop alive
|
|
218
|
+
}, 30000);
|
|
219
|
+
// Store interval reference for cleanup
|
|
220
|
+
global.__schedulerHeartbeat = heartbeatInterval;
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
// Legacy SQLite Scheduler Path
|
|
224
|
+
// Create cache client for engine (connect to cache.sock, not ipc.sock)
|
|
225
|
+
let cacheClient = null;
|
|
226
|
+
try {
|
|
227
|
+
const cacheSocketPath = (0, path_1.join)(process.cwd(), config.paths.root, "cache.sock");
|
|
228
|
+
const cacheIpcClient = new socket_bridge_js_1.IpcClient(cacheSocketPath);
|
|
229
|
+
await cacheIpcClient.connect();
|
|
230
|
+
cacheClient = new client_js_1.CacheClient(cacheIpcClient);
|
|
82
231
|
await cacheClient.connect();
|
|
83
232
|
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
logger_js_1.logger.log({
|
|
235
|
+
timestamp: Date.now(),
|
|
236
|
+
level: "warn",
|
|
237
|
+
kind: "system",
|
|
238
|
+
message: "[Scheduler] Failed to connect to cache sidecar, continuing without cache",
|
|
239
|
+
context: { err },
|
|
240
|
+
});
|
|
241
|
+
}
|
|
84
242
|
// Use database client from factory (supports both SQLite and document store)
|
|
85
243
|
const rawDb = (0, factory_js_1.createDatabaseClient)();
|
|
86
244
|
const db = new cachedclient_js_1.CachedDatabaseClient(rawDb, cacheClient);
|
|
87
245
|
// Set rawDb on logger for persistence (uncached to avoid cache invalidation)
|
|
88
246
|
logger_js_1.logger.setDb(rawDb);
|
|
89
247
|
// Initialize storage backend
|
|
90
|
-
const storageBackend =
|
|
91
|
-
? new s3_backend_js_1.default()
|
|
92
|
-
: new fs_backend_js_1.default({
|
|
93
|
-
root: config.storage.root,
|
|
94
|
-
signingSecret: config.storage.signingSecret,
|
|
95
|
-
});
|
|
248
|
+
const storageBackend = new s3_backend_js_1.default();
|
|
96
249
|
const storageManager = new manager_js_1.StorageManager({
|
|
97
250
|
backend: storageBackend,
|
|
98
251
|
db: db,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-scheduler.js","sourceRoot":"","sources":["../../src/jobs/run-scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-scheduler.js","sourceRoot":"","sources":["../../src/jobs/run-scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/jobs/run-worker.js
CHANGED
|
@@ -11,7 +11,6 @@ const cachedclient_js_1 = require("../db/cachedclient.js");
|
|
|
11
11
|
const worker_js_1 = require("./worker.js");
|
|
12
12
|
const manager_js_1 = require("../storage/manager.js");
|
|
13
13
|
const queue_js_1 = require("./queue.js");
|
|
14
|
-
const fs_backend_js_1 = __importDefault(require("../storage/fs-backend.js"));
|
|
15
14
|
const s3_backend_js_1 = __importDefault(require("../storage/s3-backend.js"));
|
|
16
15
|
const socket_bridge_js_1 = require("../ipc/socket-bridge.js");
|
|
17
16
|
const client_js_1 = require("../cache/client.js");
|
|
@@ -19,8 +18,13 @@ const logger_js_1 = require("../logging/logger.js");
|
|
|
19
18
|
const paths_js_1 = require("../config/paths.js");
|
|
20
19
|
const index_js_1 = require("../config/index.js");
|
|
21
20
|
const path_1 = require("path");
|
|
21
|
+
// BullMQ imports
|
|
22
|
+
const bullmq_adapter_js_1 = require("./bullmq-adapter.js");
|
|
23
|
+
const bullmq_worker_js_1 = require("./bullmq-worker.js");
|
|
22
24
|
const config = (0, index_js_1.loadServerConfig)();
|
|
23
25
|
(0, paths_js_1.ensureAllDbDirectories)(config.paths);
|
|
26
|
+
// Feature flag for BullMQ
|
|
27
|
+
const useBullMQ = process.env.BULLMQ_ENABLED !== "false";
|
|
24
28
|
/**
|
|
25
29
|
* Worker entrypoint.
|
|
26
30
|
*
|
|
@@ -28,6 +32,96 @@ const config = (0, index_js_1.loadServerConfig)();
|
|
|
28
32
|
* (same as the main server) so jobs can invoke deployed functions by name.
|
|
29
33
|
*/
|
|
30
34
|
async function bootstrapAndStart() {
|
|
35
|
+
if (useBullMQ) {
|
|
36
|
+
// Initialize BullMQ components
|
|
37
|
+
logger_js_1.logger.log({
|
|
38
|
+
timestamp: Date.now(),
|
|
39
|
+
level: "info",
|
|
40
|
+
kind: "system",
|
|
41
|
+
message: "[Worker] Initializing BullMQ worker...",
|
|
42
|
+
});
|
|
43
|
+
// Initialize IPC/cache clients similar to legacy worker path
|
|
44
|
+
const ipcSocketPath = (0, path_1.join)(process.cwd(), config.paths.root, "ipc.sock");
|
|
45
|
+
let ipcClient = null;
|
|
46
|
+
let cacheClient = null;
|
|
47
|
+
try {
|
|
48
|
+
ipcClient = new socket_bridge_js_1.IpcClient(ipcSocketPath);
|
|
49
|
+
await ipcClient.connect();
|
|
50
|
+
logger_js_1.logger.setIpcClient(ipcClient);
|
|
51
|
+
const cacheSocketPath = (0, path_1.join)(process.cwd(), config.paths.root, "cache.sock");
|
|
52
|
+
const cacheIpcClient = new socket_bridge_js_1.IpcClient(cacheSocketPath);
|
|
53
|
+
await cacheIpcClient.connect();
|
|
54
|
+
cacheClient = new client_js_1.CacheClient(cacheIpcClient);
|
|
55
|
+
await cacheClient.connect();
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
logger_js_1.logger.log({
|
|
59
|
+
timestamp: Date.now(),
|
|
60
|
+
level: "warn",
|
|
61
|
+
kind: "system",
|
|
62
|
+
message: "[Worker] Failed to connect to IPC/cache sidecars, continuing without IPC",
|
|
63
|
+
context: { err },
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
// Use database client for BullMQJobQueue and engine runtime
|
|
67
|
+
const rawDb = (0, factory_js_1.createDatabaseClient)();
|
|
68
|
+
const db = new cachedclient_js_1.CachedDatabaseClient(rawDb, cacheClient);
|
|
69
|
+
logger_js_1.logger.setDb(rawDb);
|
|
70
|
+
const storageBackend = new s3_backend_js_1.default();
|
|
71
|
+
const storageManager = new manager_js_1.StorageManager({
|
|
72
|
+
backend: storageBackend,
|
|
73
|
+
db,
|
|
74
|
+
stagingDir: `${config.paths.root}/storage/.staging`,
|
|
75
|
+
logger: logger_js_1.logger,
|
|
76
|
+
});
|
|
77
|
+
const graph = new graph_js_1.DependencyGraph();
|
|
78
|
+
// Create BullMQ job queue adapter
|
|
79
|
+
const jobQueue = new bullmq_adapter_js_1.BullMQJobQueue({
|
|
80
|
+
queueName: process.env.JOB_QUEUE_NAME ?? "archlast-jobs",
|
|
81
|
+
db: rawDb,
|
|
82
|
+
});
|
|
83
|
+
const engine = new runner_js_1.ExecutionEngine(db, graph, storageManager, jobQueue, cacheClient, ipcClient);
|
|
84
|
+
// Load persisted deployment so worker can execute function jobs
|
|
85
|
+
await (0, runtime_loader_js_1.loadRuntime)(engine, db);
|
|
86
|
+
// Create BullMQ worker manager
|
|
87
|
+
const workerManager = new bullmq_worker_js_1.BullMQWorkerManager(process.env.JOB_QUEUE_NAME ?? "archlast-jobs", jobQueue, {
|
|
88
|
+
concurrency: Number(process.env.JOB_WORKER_CONCURRENCY ?? 5),
|
|
89
|
+
lockDuration: Number(process.env.JOB_LOCK_DURATION ?? 30000),
|
|
90
|
+
engineDispatcher: {
|
|
91
|
+
runFunction: (name, payload, auth, queryId) => engine.runFunction(name, payload, auth, queryId),
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
workerManager.setIpcClient(ipcClient);
|
|
95
|
+
await workerManager.initialize();
|
|
96
|
+
logger_js_1.logger.log({
|
|
97
|
+
timestamp: Date.now(),
|
|
98
|
+
level: "info",
|
|
99
|
+
kind: "system",
|
|
100
|
+
message: "[Worker] BullMQ worker started",
|
|
101
|
+
});
|
|
102
|
+
// Handle graceful shutdown
|
|
103
|
+
const gracefulShutdown = async () => {
|
|
104
|
+
logger_js_1.logger.log({
|
|
105
|
+
timestamp: Date.now(),
|
|
106
|
+
level: "info",
|
|
107
|
+
kind: "system",
|
|
108
|
+
message: "[Worker] Shutting down BullMQ worker...",
|
|
109
|
+
});
|
|
110
|
+
await workerManager.stop(Number(process.env.JOB_WORKER_GRACE_PERIOD ?? 30000));
|
|
111
|
+
await jobQueue.dispose();
|
|
112
|
+
if (cacheClient) {
|
|
113
|
+
await cacheClient.disconnect();
|
|
114
|
+
}
|
|
115
|
+
if (ipcClient) {
|
|
116
|
+
await ipcClient.disconnect();
|
|
117
|
+
}
|
|
118
|
+
process.exit(0);
|
|
119
|
+
};
|
|
120
|
+
process.on("SIGINT", gracefulShutdown);
|
|
121
|
+
process.on("SIGTERM", gracefulShutdown);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Legacy SQLite worker path
|
|
31
125
|
// Initialize IPC client for worker logger
|
|
32
126
|
const ipcSocketPath = (0, path_1.join)(process.cwd(), config.paths.root, "ipc.sock");
|
|
33
127
|
let ipcClient = null;
|
|
@@ -67,8 +161,11 @@ async function bootstrapAndStart() {
|
|
|
67
161
|
});
|
|
68
162
|
process.exit(0);
|
|
69
163
|
});
|
|
70
|
-
// Create cache client for engine
|
|
71
|
-
|
|
164
|
+
// Create cache client for engine (connect to cache.sock, not ipc.sock)
|
|
165
|
+
const cacheSocketPath = (0, path_1.join)(process.cwd(), config.paths.root, "cache.sock");
|
|
166
|
+
const cacheIpcClient = new socket_bridge_js_1.IpcClient(cacheSocketPath);
|
|
167
|
+
await cacheIpcClient.connect();
|
|
168
|
+
cacheClient = new client_js_1.CacheClient(cacheIpcClient);
|
|
72
169
|
await cacheClient.connect();
|
|
73
170
|
}
|
|
74
171
|
catch (err) {
|
|
@@ -86,12 +183,7 @@ async function bootstrapAndStart() {
|
|
|
86
183
|
// Set rawDb on logger for persistence (uncached to avoid cache invalidation)
|
|
87
184
|
logger_js_1.logger.setDb(rawDb);
|
|
88
185
|
// Initialize storage backend
|
|
89
|
-
const storageBackend =
|
|
90
|
-
? new s3_backend_js_1.default()
|
|
91
|
-
: new fs_backend_js_1.default({
|
|
92
|
-
root: config.storage.root,
|
|
93
|
-
signingSecret: config.storage.signingSecret,
|
|
94
|
-
});
|
|
186
|
+
const storageBackend = new s3_backend_js_1.default();
|
|
95
187
|
const storageManager = new manager_js_1.StorageManager({
|
|
96
188
|
backend: storageBackend,
|
|
97
189
|
db: db,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-worker.js","sourceRoot":"","sources":["../../src/jobs/run-worker.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkD;AAClD,mDAAsD;AACtD,qDAAyD;AACzD,iDAAwD;AACxD,2DAA6D;AAC7D,2CAAsF;AACtF,sDAAuD;AACvD,yCAAsC;AACtC,6EAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"run-worker.js","sourceRoot":"","sources":["../../src/jobs/run-worker.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkD;AAClD,mDAAsD;AACtD,qDAAyD;AACzD,iDAAwD;AACxD,2DAA6D;AAC7D,2CAAsF;AACtF,sDAAuD;AACvD,yCAAsC;AACtC,6EAAwD;AACxD,8DAAoD;AACpD,kDAAiD;AACjD,oDAA8C;AAC9C,iDAA4D;AAC5D,iDAAsD;AACtD,+BAA4B;AAE5B,iBAAiB;AACjB,2DAAqD;AACrD,yDAAyD;AAEzD,MAAM,MAAM,GAAG,IAAA,2BAAgB,GAAE,CAAC;AAClC,IAAA,iCAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAErC,0BAA0B;AAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO,CAAC;AAEzD;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB;IAC5B,IAAI,SAAS,EAAE,CAAC;QACZ,+BAA+B;QAC/B,kBAAM,CAAC,GAAG,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wCAAwC;SACpD,CAAC,CAAC;QAEH,6DAA6D;QAC7D,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,SAAS,GAAqB,IAAI,CAAC;QACvC,IAAI,WAAW,GAAuB,IAAI,CAAC;QAE3C,IAAI,CAAC;YACD,SAAS,GAAG,IAAI,4BAAS,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1B,kBAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE/B,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC7E,MAAM,cAAc,GAAG,IAAI,4BAAS,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;YAC/B,WAAW,GAAG,IAAI,uBAAW,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,kBAAM,CAAC,GAAG,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,0EAA0E;gBACnF,OAAO,EAAE,EAAE,GAAG,EAAE;aACnB,CAAC,CAAC;QACP,CAAC;QAED,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAA,iCAAoB,GAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,sCAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxD,kBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,cAAc,GAAG,IAAI,uBAAgB,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC;YACtC,OAAO,EAAE,cAAc;YACvB,EAAE;YACF,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB;YACnD,MAAM,EAAN,kBAAM;SACT,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,0BAAe,EAAE,CAAC;QAEpC,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,kCAAc,CAAC;YAChC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe;YACxD,EAAE,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,2BAAe,CAC9B,EAAE,EACF,KAAK,EACL,cAAc,EACd,QAA+B,EAC/B,WAAW,EACX,SAAS,CACZ,CAAC;QAEF,gEAAgE;QAChE,MAAM,IAAA,+BAAW,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE9B,+BAA+B;QAC/B,MAAM,aAAa,GAAG,IAAI,sCAAmB,CACzC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,EAC7C,QAA+B,EAC/B;YACI,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC;YAC5D,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,KAAK,CAAC;YAC5D,gBAAgB,EAAE;gBACd,WAAW,EAAE,CAAC,IAAY,EAAE,OAAY,EAAE,IAAS,EAAE,OAAgB,EAAE,EAAE,CACrE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;aACvD;SACJ,CACJ,CAAC;QAEF,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAEjC,kBAAM,CAAC,GAAG,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gCAAgC;SAC5C,CAAC,CAAC;QAEH,2BAA2B;QAC3B,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAChC,kBAAM,CAAC,GAAG,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yCAAyC;aACrD,CAAC,CAAC;YACH,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,KAAK,CAAC,CAAC,CAAC;YAC/E,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAExC,OAAO;IACX,CAAC;IAED,4BAA4B;IAC5B,0CAA0C;IAC1C,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzE,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,WAAW,GAAuB,IAAI,CAAC;IAE3C,IAAI,CAAC;QACD,SAAS,GAAG,IAAI,4BAAS,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1B,kBAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/B,kBAAM,CAAC,GAAG,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mCAAmC;SAC/C,CAAC,CAAC;QACH,iCAAiC;QACjC,MAAM,SAAS,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;YAC/D,kBAAM,CAAC,GAAG,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,sDAAsD;gBAC/D,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,kBAAM,CAAC,GAAG,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8CAA8C;gBACvD,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YAEH,6BAA6B;YAC7B,kBAAM,CAAC,GAAG,CAAC;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sCAAsC;aAClD,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,IAAI,4BAAS,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QAC/B,WAAW,GAAG,IAAI,uBAAW,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,kBAAM,CAAC,GAAG,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,0DAA0D;YACnE,OAAO,EAAE,EAAE,GAAG,EAAE;SACnB,CAAC,CAAC;IACP,CAAC;IAED,6EAA6E;IAC7E,MAAM,KAAK,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,sCAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAExD,6EAA6E;IAC7E,kBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpB,6BAA6B;IAC7B,MAAM,cAAc,GAAG,IAAI,uBAAgB,EAAE,CAAC;IAE9C,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC;QACtC,OAAO,EAAE,cAAc;QACvB,EAAE,EAAE,EAAE;QACN,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB;QACnD,MAAM,EAAN,kBAAM;KACT,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC;QAC1B,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,WAAW,IAAI,SAAS;KACxC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,IAAA,sBAAU,EAAC,QAAQ,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAI,0BAAe,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhG,8CAA8C;IAC9C,MAAM,IAAA,+BAAW,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE9B,gEAAgE;IAChE,IAAA,+BAAmB,EAAC;QAChB,WAAW,EAAE,CAAC,IAAY,EAAE,OAAY,EAAE,IAAS,EAAE,OAAgB,EAAE,EAAE,CACrE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;KACvD,CAAC,CAAC;IAEH,kEAAkE;IAClE,IAAA,2BAAe,EACX,kBAAkB,EAClB,KAAK,EAAE,OAAgD,EAAE,EAAE;QACvD,MAAM,MAAM,CAAC,WAAW,CACpB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,OAAO,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CACnC,CAAC;IACN,CAAC,CACJ,CAAC;IAEF,MAAM,IAAA,iBAAK,GAAE,CAAC;AAClB,CAAC;AAED,KAAK,iBAAiB,EAAE,CAAC"}
|
|
@@ -20,7 +20,13 @@ export declare class WorkerPool {
|
|
|
20
20
|
dispose(): void;
|
|
21
21
|
private spawn;
|
|
22
22
|
private inflight;
|
|
23
|
+
private workersTerminated;
|
|
24
|
+
private pendingResponses;
|
|
25
|
+
private isWorkerAlive;
|
|
26
|
+
private markWorkerTerminated;
|
|
27
|
+
private safePostMessage;
|
|
23
28
|
private drain;
|
|
29
|
+
hasPendingResponses(): boolean;
|
|
24
30
|
private markIdle;
|
|
25
31
|
}
|
|
26
32
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-thread.d.ts","sourceRoot":"","sources":["../../src/jobs/worker-thread.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-thread.d.ts","sourceRoot":"","sources":["../../src/jobs/worker-thread.ts"],"names":[],"mappings":"AA0BA,KAAK,cAAc,GACb;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAmFR,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,IAAI,EAAE,MAAM;IAQlB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAO7E,OAAO;IAWP,OAAO,CAAC,KAAK;IAmCb,OAAO,CAAC,QAAQ,CAA8C;IAE9D,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAA8D;IAEtF,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,KAAK;IAqBb,mBAAmB,IAAI,OAAO;IAI9B,OAAO,CAAC,QAAQ;CAKnB"}
|