comfyui-node 1.6.5 → 1.6.7
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/LICENSE +20 -20
- package/README.md +342 -341
- package/dist/.tsbuildinfo +1 -1
- package/dist/multipool/client-registry.d.ts +3 -3
- package/dist/multipool/client-registry.d.ts.map +1 -1
- package/dist/multipool/client-registry.js +9 -9
- package/dist/multipool/client-registry.js.map +1 -1
- package/dist/multipool/helpers.d.ts +4 -4
- package/dist/multipool/index.d.ts +2 -2
- package/dist/multipool/interfaces.d.ts +0 -2
- package/dist/multipool/interfaces.d.ts.map +1 -1
- package/dist/multipool/job-queue-processor.d.ts +3 -3
- package/dist/multipool/job-queue-processor.d.ts.map +1 -1
- package/dist/multipool/job-queue-processor.js +28 -27
- package/dist/multipool/job-queue-processor.js.map +1 -1
- package/dist/multipool/logger.d.ts +29 -29
- package/dist/multipool/logger.js +74 -74
- package/dist/multipool/multi-workflow-pool.d.ts +0 -1
- package/dist/multipool/multi-workflow-pool.d.ts.map +1 -1
- package/dist/multipool/multi-workflow-pool.js +36 -37
- package/dist/multipool/multi-workflow-pool.js.map +1 -1
- package/dist/multipool/tests/client-registry-api-demo.js +1 -3
- package/dist/multipool/tests/client-registry-api-demo.js.map +1 -1
- package/dist/multipool/tests/client-registry.spec.js +6 -7
- package/dist/multipool/tests/client-registry.spec.js.map +1 -1
- package/dist/multipool/tests/error-classification-tests.d.ts +1 -1
- package/dist/multipool/tests/event-forwarding-demo.js +1 -3
- package/dist/multipool/tests/event-forwarding-demo.js.map +1 -1
- package/dist/multipool/tests/job-queue-processor.spec.js +7 -7
- package/dist/multipool/tests/job-queue-processor.spec.js.map +1 -1
- package/dist/multipool/tests/job-state-registry.d.ts +16 -16
- package/dist/multipool/tests/job-state-registry.js +23 -23
- package/dist/multipool/tests/job-state-registry.spec.js +5 -4
- package/dist/multipool/tests/job-state-registry.spec.js.map +1 -1
- package/dist/multipool/tests/multipool-basic.d.ts +11 -11
- package/dist/multipool/tests/profiling-demo.d.ts +6 -6
- package/dist/multipool/tests/profiling-demo.js +1 -2
- package/dist/multipool/tests/profiling-demo.js.map +1 -1
- package/dist/multipool/tests/prompt-generator.d.ts +9 -9
- package/dist/multipool/tests/prompt-generator.js +25 -25
- package/dist/multipool/tests/test-helpers.d.ts +3 -3
- package/dist/multipool/tests/test-helpers.js +9 -9
- package/dist/multipool/tests/two-stage-edit-simulation.d.ts +31 -31
- package/dist/multipool/tests/two-stage-edit-simulation.d.ts.map +1 -1
- package/dist/multipool/tests/two-stage-edit-simulation.js +1 -2
- package/dist/multipool/tests/two-stage-edit-simulation.js.map +1 -1
- package/dist/pool/SmartPool.d.ts +143 -143
- package/dist/pool/SmartPool.js +676 -676
- package/dist/pool/SmartPoolV2.d.ts +119 -119
- package/dist/pool/SmartPoolV2.js +586 -586
- package/dist/pool/WorkflowPool.d.ts +202 -202
- package/dist/pool/client/ClientManager.d.ts +86 -86
- package/dist/pool/index.d.ts +9 -9
- package/dist/types/api.d.ts +2 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { MultiWorkflowPool } from "./multi-workflow-pool.js";
|
|
2
2
|
import { Workflow } from "./workflow.js";
|
|
3
|
-
import { Logger } from "./logger.js";
|
|
4
3
|
import { EnhancedClient } from "./interfaces.js";
|
|
4
|
+
import { PoolEventManager } from "./pool-event-manager.js";
|
|
5
5
|
export declare class ClientRegistry {
|
|
6
6
|
pool: MultiWorkflowPool;
|
|
7
|
-
private
|
|
7
|
+
private events;
|
|
8
8
|
clients: Map<string, EnhancedClient>;
|
|
9
9
|
workflowAffinityMap: Map<string, Set<string>>;
|
|
10
|
-
constructor(pool: MultiWorkflowPool,
|
|
10
|
+
constructor(pool: MultiWorkflowPool, events: PoolEventManager);
|
|
11
11
|
addClient(clientUrl: string, options?: {
|
|
12
12
|
workflowAffinity: Workflow[];
|
|
13
13
|
priority?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-registry.d.ts","sourceRoot":"","sources":["../../src/multipool/client-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client-registry.d.ts","sourceRoot":"","sources":["../../src/multipool/client-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,cAAc;IAEzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,MAAM,CAAmB;IAEjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAGjD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAa;gBAE9C,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB;IAK7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IA8B1F,YAAY,CAAC,SAAS,EAAE,MAAM;IAIxB,cAAc,CAAC,SAAS,EAAE,MAAM;IAQtC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAsCnC,qBAAqB,CAAC,YAAY,EAAE,MAAM;IAMpC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ;YA6B/B,qBAAqB;IAcnC,kCAAkC,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS;IAcjF,gCAAgC,CAAC,QAAQ,EAAE,QAAQ;CAapD"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ComfyApi } from "../client.js";
|
|
2
2
|
export class ClientRegistry {
|
|
3
3
|
pool;
|
|
4
|
-
|
|
4
|
+
events;
|
|
5
5
|
clients = new Map();
|
|
6
6
|
// Maps a workflow structure hash to a set of client URLs that have affinity for that workflow
|
|
7
7
|
workflowAffinityMap = new Map();
|
|
8
|
-
constructor(pool,
|
|
8
|
+
constructor(pool, events) {
|
|
9
9
|
this.pool = pool;
|
|
10
|
-
this.
|
|
10
|
+
this.events = events;
|
|
11
11
|
}
|
|
12
12
|
addClient(clientUrl, options) {
|
|
13
13
|
const comfyApi = new ComfyApi(clientUrl);
|
|
@@ -68,10 +68,10 @@ export class ClientRegistry {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
if (suitableClients.length === 0) {
|
|
71
|
-
this.
|
|
71
|
+
this.events.emitEvent({ type: "debug", payload: `No suitable clients found for workflow ${workflowHash}.` });
|
|
72
72
|
return null;
|
|
73
73
|
}
|
|
74
|
-
this.
|
|
74
|
+
this.events.emitEvent({ type: "debug", payload: `Suitable clients for workflow ${workflowHash}: ${suitableClients.map(value => value.nodeName).join(",")}` });
|
|
75
75
|
// sort suitable clients by priority
|
|
76
76
|
suitableClients.sort((a, b) => {
|
|
77
77
|
const priorityA = a.priority ?? 0;
|
|
@@ -86,7 +86,7 @@ export class ClientRegistry {
|
|
|
86
86
|
}
|
|
87
87
|
// Get an optimal idle client for a given workflow (used for general queue)
|
|
88
88
|
async getOptimalIdleClient(workflow) {
|
|
89
|
-
this.
|
|
89
|
+
this.events.emitEvent({ type: "debug", payload: `Searching for idle clients for workflow ${workflow.structureHash}...` });
|
|
90
90
|
// We can infer model capabilities from workflow and try to get the best idle client, based on other workflow affinities, for now lets pick any idle client
|
|
91
91
|
const idleClients = [];
|
|
92
92
|
for (const client of this.clients.values()) {
|
|
@@ -94,12 +94,12 @@ export class ClientRegistry {
|
|
|
94
94
|
// For the general queue, we need to check the actual queue state
|
|
95
95
|
await this.checkClientQueueState(client);
|
|
96
96
|
if (client.state === "idle") {
|
|
97
|
-
this.
|
|
97
|
+
this.events.emitEvent({ type: "debug", payload: `Client ${client.nodeName} is idle.` });
|
|
98
98
|
idleClients.push(client);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
this.
|
|
102
|
+
this.events.emitEvent({ type: "debug", payload: `Idle clients available: ${idleClients.map(value => value.nodeName).join(",")}` });
|
|
103
103
|
// sort idle clients by priority
|
|
104
104
|
idleClients.sort((a, b) => {
|
|
105
105
|
const priorityA = a.priority ?? 0;
|
|
@@ -119,7 +119,7 @@ export class ClientRegistry {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
catch (error) {
|
|
122
|
-
this.
|
|
122
|
+
this.events.emitEvent({ type: "error", payload: { message: `Error checking queue state for client ${client.nodeName}`, error } });
|
|
123
123
|
client.state = "offline";
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-registry.js","sourceRoot":"","sources":["../../src/multipool/client-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKxC,MAAM,OAAO,cAAc;IAEzB,IAAI,CAAoB;IAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"client-registry.js","sourceRoot":"","sources":["../../src/multipool/client-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function classifyFailure(error: any): {
|
|
2
|
-
type: 'connection' | 'workflow_incompatibility' | 'transient';
|
|
3
|
-
message: string;
|
|
4
|
-
};
|
|
1
|
+
export declare function classifyFailure(error: any): {
|
|
2
|
+
type: 'connection' | 'workflow_incompatibility' | 'transient';
|
|
3
|
+
message: string;
|
|
4
|
+
};
|
|
5
5
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { MultiWorkflowPool } from "./multi-workflow-pool.js";
|
|
2
|
-
export * from "./interfaces.js";
|
|
1
|
+
export { MultiWorkflowPool } from "./multi-workflow-pool.js";
|
|
2
|
+
export * from "./interfaces.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ImageInfo } from "../types/api.js";
|
|
2
2
|
import { ComfyApi } from "../client.js";
|
|
3
|
-
import { LogLevel } from "./logger.js";
|
|
4
3
|
import { Workflow } from "./workflow.js";
|
|
5
4
|
import { JobProfiler } from "./job-profiler.js";
|
|
6
5
|
/**
|
|
@@ -28,7 +27,6 @@ export interface MultiWorkflowPoolOptions {
|
|
|
28
27
|
connectionTimeoutMs?: number;
|
|
29
28
|
enableMonitoring?: boolean;
|
|
30
29
|
monitoringIntervalMs?: number;
|
|
31
|
-
logLevel?: LogLevel;
|
|
32
30
|
enableProfiling?: boolean;
|
|
33
31
|
}
|
|
34
32
|
export type ClientState = "idle" | "busy" | "offline";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/multipool/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/multipool/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Workflow } from "./workflow.js";
|
|
2
2
|
import { JobStateRegistry } from "./job-state-registry.js";
|
|
3
3
|
import { ClientRegistry } from "./client-registry.js";
|
|
4
|
-
import { Logger } from "./logger.js";
|
|
5
4
|
import { QueueJob } from "./interfaces.js";
|
|
5
|
+
import { PoolEventManager } from "./pool-event-manager.js";
|
|
6
6
|
export declare class JobQueueProcessor {
|
|
7
7
|
private jobs;
|
|
8
8
|
private clientRegistry;
|
|
9
|
-
private
|
|
9
|
+
private events;
|
|
10
10
|
queue: Array<QueueJob>;
|
|
11
11
|
workflowHash: string;
|
|
12
12
|
isProcessing: boolean;
|
|
13
13
|
maxAttempts: number;
|
|
14
|
-
constructor(stateRegistry: JobStateRegistry, clientRegistry: ClientRegistry, workflowHash: string,
|
|
14
|
+
constructor(stateRegistry: JobStateRegistry, clientRegistry: ClientRegistry, workflowHash: string, events: PoolEventManager);
|
|
15
15
|
enqueueJob(newJobId: string, workflow: Workflow): Promise<void>;
|
|
16
16
|
processQueue(): Promise<void>;
|
|
17
17
|
private applyAutoSeed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-queue-processor.d.ts","sourceRoot":"","sources":["../../src/multipool/job-queue-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,
|
|
1
|
+
{"version":3,"file":"job-queue-processor.d.ts","sourceRoot":"","sources":["../../src/multipool/job-queue-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAmB;IACjC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAM;IAC5B,YAAY,EAAE,MAAM,CAAM;IAC1B,YAAY,EAAE,OAAO,CAAS;IAC9B,WAAW,EAAE,MAAM,CAAK;gBAEZ,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAQrH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAY/C,YAAY;IAyDlB,OAAO,CAAC,aAAa;YAeP,cAAc;IAmD5B,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,iBAAiB;YAuBX,oBAAoB;CAGnC"}
|
|
@@ -2,14 +2,14 @@ import { classifyFailure } from "./helpers.js";
|
|
|
2
2
|
export class JobQueueProcessor {
|
|
3
3
|
jobs;
|
|
4
4
|
clientRegistry;
|
|
5
|
-
|
|
5
|
+
events;
|
|
6
6
|
queue = [];
|
|
7
7
|
workflowHash = "";
|
|
8
8
|
isProcessing = false;
|
|
9
9
|
maxAttempts = 3;
|
|
10
|
-
constructor(stateRegistry, clientRegistry, workflowHash,
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
10
|
+
constructor(stateRegistry, clientRegistry, workflowHash, events) {
|
|
11
|
+
this.events = events;
|
|
12
|
+
this.events.emitEvent({ type: "debug", payload: `Creating JobQueueProcessor for workflow hash: '${workflowHash}'` });
|
|
13
13
|
this.clientRegistry = clientRegistry;
|
|
14
14
|
this.jobs = stateRegistry;
|
|
15
15
|
this.workflowHash = workflowHash;
|
|
@@ -22,19 +22,19 @@ export class JobQueueProcessor {
|
|
|
22
22
|
}
|
|
23
23
|
this.queue.push({ jobId: newJobId, workflow, attempts: 1 });
|
|
24
24
|
this.processQueue().catch(reason => {
|
|
25
|
-
this.
|
|
25
|
+
this.events.emitEvent({ type: "error", payload: { message: `Error processing job queue for workflow hash ${this.workflowHash}`, error: reason } });
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
async processQueue() {
|
|
29
29
|
if (this.isProcessing) {
|
|
30
|
-
this.
|
|
30
|
+
this.events.emitEvent({ type: "debug", payload: `Job queue for workflow hash ${this.workflowHash} is already being processed, skipping.` });
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
this.isProcessing = true;
|
|
34
34
|
// Get the next job in the queue
|
|
35
35
|
const nextJob = this.queue.shift();
|
|
36
36
|
if (nextJob) {
|
|
37
|
-
this.
|
|
37
|
+
this.events.emitEvent({ type: "debug", payload: `Processing job ${nextJob.jobId}` });
|
|
38
38
|
let preferredClient;
|
|
39
39
|
// If this processor is for the general queue, try to find a preferred client
|
|
40
40
|
if (this.workflowHash === "general") {
|
|
@@ -44,7 +44,7 @@ export class JobQueueProcessor {
|
|
|
44
44
|
preferredClient = this.clientRegistry.getOptimalClient(nextJob.workflow);
|
|
45
45
|
}
|
|
46
46
|
if (!preferredClient) {
|
|
47
|
-
this.
|
|
47
|
+
this.events.emitEvent({ type: "debug", payload: `No idle clients available for job ${nextJob.jobId}.` });
|
|
48
48
|
// Mark as pending again
|
|
49
49
|
this.jobs.setJobStatus(nextJob.jobId, "pending");
|
|
50
50
|
// Re-add the job to the front of the queue for later processing
|
|
@@ -53,7 +53,7 @@ export class JobQueueProcessor {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
56
|
-
this.
|
|
56
|
+
this.events.emitEvent({ type: "info", payload: `Assigning job ${nextJob.jobId} to client ${preferredClient.nodeName}` });
|
|
57
57
|
this.jobs.setJobStatus(nextJob.jobId, "assigned", preferredClient.url);
|
|
58
58
|
await this.runJobOnClient(nextJob, preferredClient);
|
|
59
59
|
}
|
|
@@ -63,18 +63,18 @@ export class JobQueueProcessor {
|
|
|
63
63
|
if (this.queue.length > 0) {
|
|
64
64
|
let idleCount = 0;
|
|
65
65
|
for (const client of this.clientRegistry.clients.values()) {
|
|
66
|
-
this.
|
|
66
|
+
this.events.emitEvent({ type: "debug", payload: `Client ${client.nodeName} state: ${client.state}` });
|
|
67
67
|
if (client.state === "idle") {
|
|
68
68
|
idleCount++;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
if (idleCount > 0) {
|
|
72
|
-
this.
|
|
72
|
+
this.events.emitEvent({ type: "debug", payload: `Continuing to process next job in queue for workflow hash ${this.workflowHash}.` });
|
|
73
73
|
try {
|
|
74
74
|
await this.processQueue();
|
|
75
75
|
}
|
|
76
76
|
catch (e) {
|
|
77
|
-
this.
|
|
77
|
+
this.events.emitEvent({ type: "error", payload: { message: `Error processing job queue for workflow hash ${this.workflowHash}`, error: e } });
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -101,7 +101,7 @@ export class JobQueueProcessor {
|
|
|
101
101
|
// Check if client is idle before sending job
|
|
102
102
|
const queueStatus = await api.getQueue();
|
|
103
103
|
if (queueStatus.queue_running.length !== 0 || queueStatus.queue_pending.length !== 0) {
|
|
104
|
-
this.
|
|
104
|
+
this.events.emitEvent({ type: "debug", payload: `Client ${preferredClient.nodeName} is busy, re-adding job ${nextJob.jobId} to queue.` });
|
|
105
105
|
this.jobs.setJobStatus(nextJob.jobId, "pending");
|
|
106
106
|
this.queue.unshift(nextJob);
|
|
107
107
|
return;
|
|
@@ -110,7 +110,7 @@ export class JobQueueProcessor {
|
|
|
110
110
|
const workflowJson = nextJob.workflow.toJSON();
|
|
111
111
|
const autoSeeds = this.applyAutoSeed(workflowJson);
|
|
112
112
|
if (Object.keys(autoSeeds).length > 0) {
|
|
113
|
-
this.
|
|
113
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Applied auto seeds for job ${nextJob.jobId}: ${JSON.stringify(autoSeeds)}` } });
|
|
114
114
|
this.jobs.updateJobAutoSeeds(nextJob.jobId, autoSeeds);
|
|
115
115
|
// Update the workflow json with the new seeds before sending
|
|
116
116
|
const nodeIds = Object.keys(autoSeeds);
|
|
@@ -118,24 +118,25 @@ export class JobQueueProcessor {
|
|
|
118
118
|
workflowJson[nodeId].inputs.seed = autoSeeds[nodeId];
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
this.
|
|
121
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Starting job ${nextJob.jobId} on client ${preferredClient.nodeName}` } });
|
|
122
122
|
const result = await api.ext.queue.queuePrompt(null, workflowJson);
|
|
123
123
|
// at this point we have the prompt_id assigned by comfyui, we can mark the job as running
|
|
124
124
|
if (result.prompt_id) {
|
|
125
125
|
this.jobs.setPromptId(nextJob.jobId, result.prompt_id);
|
|
126
126
|
this.jobs.setJobStatus(nextJob.jobId, "running");
|
|
127
|
-
this.
|
|
127
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Job ${nextJob.jobId} is now queued on client ${preferredClient.nodeName} with prompt ID ${result.prompt_id}` } });
|
|
128
128
|
// we also mark the client as busy, to prevent new jobs being assigned until we detect completion
|
|
129
129
|
preferredClient.state = "busy";
|
|
130
|
-
this.
|
|
130
|
+
this.events.emitEvent({ type: "debug", payload: Array.from(this.clientRegistry.clients.values()).map((c) => `${c.nodeName}: ${c.state}`).join(", ") });
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
133
|
-
|
|
133
|
+
const error = new Error("No prompt_id returned");
|
|
134
|
+
this.events.emitEvent({ type: "error", payload: { message: `Failed to enqueue job ${nextJob.jobId} on client ${preferredClient.nodeName}`, error } });
|
|
134
135
|
this.jobs.setJobStatus(nextJob.jobId, "failed");
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
138
|
catch (e) {
|
|
138
|
-
this.
|
|
139
|
+
this.events.emitEvent({ type: "error", payload: { message: `Failed to run job ${nextJob.jobId} on client ${preferredClient.nodeName}`, error: e } });
|
|
139
140
|
this.handleFailure(preferredClient, nextJob, e);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
@@ -144,49 +145,49 @@ export class JobQueueProcessor {
|
|
|
144
145
|
}
|
|
145
146
|
handleFailure(preferredClient, nextJob, e) {
|
|
146
147
|
const { type, message } = classifyFailure(e);
|
|
147
|
-
this.
|
|
148
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Job ${nextJob.jobId} failed on ${preferredClient.nodeName}. Failure type: ${type}. Reason: ${message}` } });
|
|
148
149
|
switch (type) {
|
|
149
150
|
case "connection":
|
|
150
151
|
preferredClient.state = "offline"; // Mark as offline to be re-checked later
|
|
151
|
-
this.
|
|
152
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Re-queuing job ${nextJob.jobId} due to connection error.` } });
|
|
152
153
|
this.jobs.setJobStatus(nextJob.jobId, "pending");
|
|
153
154
|
this.queue.unshift(nextJob); // Re-queue without incrementing attempts
|
|
154
155
|
break;
|
|
155
156
|
case "workflow_incompatibility":
|
|
156
157
|
preferredClient.state = "idle";
|
|
157
|
-
this.
|
|
158
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Marking client ${preferredClient.nodeName} as incompatible with workflow ${nextJob.workflow.structureHash}.` } });
|
|
158
159
|
this.clientRegistry.markClientIncompatibleWithWorkflow(preferredClient.url, nextJob.workflow.structureHash);
|
|
159
160
|
this.retryOrMarkFailed(nextJob, e);
|
|
160
161
|
break;
|
|
161
162
|
case "transient":
|
|
162
163
|
preferredClient.state = "idle";
|
|
163
|
-
this.
|
|
164
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Job ${nextJob.jobId} failed with a transient error. It will not be retried.` } });
|
|
164
165
|
this.jobs.setJobFailure(nextJob.jobId, { error: message, details: e.bodyJSON });
|
|
165
166
|
break;
|
|
166
167
|
}
|
|
167
168
|
// Trigger processing for the next job in the queue
|
|
168
169
|
this.processQueue().catch(reason => {
|
|
169
|
-
this.
|
|
170
|
+
this.events.emitEvent({ type: "error", payload: `Error processing job queue for workflow hash ${this.workflowHash}: ${reason}` });
|
|
170
171
|
});
|
|
171
172
|
}
|
|
172
173
|
retryOrMarkFailed(nextJob, originalError) {
|
|
173
174
|
// Check if the job has exceeded its max attempts
|
|
174
175
|
if (nextJob.attempts >= this.maxAttempts) {
|
|
175
|
-
this.
|
|
176
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Job ${nextJob.jobId} has reached max attempts (${this.maxAttempts}). Marking as failed.` } });
|
|
176
177
|
this.jobs.setJobFailure(nextJob.jobId, originalError.bodyJSON);
|
|
177
178
|
return;
|
|
178
179
|
}
|
|
179
180
|
// Confirm if we should re-queue or fail the job
|
|
180
181
|
const eligibleClients = this.clientRegistry.getAllEligibleClientsForWorkflow(nextJob.workflow);
|
|
181
182
|
if (eligibleClients.length > 0) {
|
|
182
|
-
this.
|
|
183
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `Re-queuing job ${nextJob.jobId} (attempt ${nextJob.attempts + 1}) as there are other eligible clients available.` } });
|
|
183
184
|
this.jobs.setJobStatus(nextJob.jobId, "pending");
|
|
184
185
|
// Increment attempts and re-add to the front of the queue
|
|
185
186
|
nextJob.attempts++;
|
|
186
187
|
this.queue.unshift(nextJob);
|
|
187
188
|
}
|
|
188
189
|
else {
|
|
189
|
-
this.
|
|
190
|
+
this.events.emitEvent({ type: "queue", payload: { workflowHash: this.workflowHash, message: `No other eligible clients for job ${nextJob.jobId}, marking as failed.` } });
|
|
190
191
|
this.jobs.setJobFailure(nextJob.jobId, originalError.bodyJSON);
|
|
191
192
|
}
|
|
192
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-queue-processor.js","sourceRoot":"","sources":["../../src/multipool/job-queue-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-queue-processor.js","sourceRoot":"","sources":["../../src/multipool/job-queue-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Logging utility for MultiWorkflowPool
|
|
3
|
-
* Provides structured logging with configurable log levels
|
|
4
|
-
*/
|
|
5
|
-
export type LogLevel = "debug" | "info" | "warn" | "error" | "silent";
|
|
6
|
-
export declare class Logger {
|
|
7
|
-
private level;
|
|
8
|
-
private context;
|
|
9
|
-
constructor(context: string, level?: LogLevel);
|
|
10
|
-
setLevel(level: LogLevel): void;
|
|
11
|
-
private shouldLog;
|
|
12
|
-
private formatMessage;
|
|
13
|
-
debug(message: string, ...args: any[]): void;
|
|
14
|
-
info(message: string, ...args: any[]): void;
|
|
15
|
-
warn(message: string, ...args: any[]): void;
|
|
16
|
-
error(message: string, ...args: any[]): void;
|
|
17
|
-
/**
|
|
18
|
-
* Special log for queue operations (always uses timestamp format)
|
|
19
|
-
*/
|
|
20
|
-
queue(workflowHash: string, message: string, ...args: any[]): void;
|
|
21
|
-
/**
|
|
22
|
-
* Special log for client events
|
|
23
|
-
*/
|
|
24
|
-
client(clientName: string, event: string, message: string, ...args: any[]): void;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Create a logger instance for a specific context
|
|
28
|
-
*/
|
|
29
|
-
export declare function createLogger(context: string, level?: LogLevel): Logger;
|
|
1
|
+
/**
|
|
2
|
+
* Logging utility for MultiWorkflowPool
|
|
3
|
+
* Provides structured logging with configurable log levels
|
|
4
|
+
*/
|
|
5
|
+
export type LogLevel = "debug" | "info" | "warn" | "error" | "silent";
|
|
6
|
+
export declare class Logger {
|
|
7
|
+
private level;
|
|
8
|
+
private context;
|
|
9
|
+
constructor(context: string, level?: LogLevel);
|
|
10
|
+
setLevel(level: LogLevel): void;
|
|
11
|
+
private shouldLog;
|
|
12
|
+
private formatMessage;
|
|
13
|
+
debug(message: string, ...args: any[]): void;
|
|
14
|
+
info(message: string, ...args: any[]): void;
|
|
15
|
+
warn(message: string, ...args: any[]): void;
|
|
16
|
+
error(message: string, ...args: any[]): void;
|
|
17
|
+
/**
|
|
18
|
+
* Special log for queue operations (always uses timestamp format)
|
|
19
|
+
*/
|
|
20
|
+
queue(workflowHash: string, message: string, ...args: any[]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Special log for client events
|
|
23
|
+
*/
|
|
24
|
+
client(clientName: string, event: string, message: string, ...args: any[]): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a logger instance for a specific context
|
|
28
|
+
*/
|
|
29
|
+
export declare function createLogger(context: string, level?: LogLevel): Logger;
|
|
30
30
|
//# sourceMappingURL=logger.d.ts.map
|