@sirmrmarty/n8n-nodes-tmux-orchestrator
Version:
n8n nodes for orchestrating Claude AI agents through tmux sessions
49 lines (48 loc) • 1.46 kB
TypeScript
import { EventEmitter } from 'events';
export interface PythonPoolConfig {
maxProcesses?: number;
minProcesses?: number;
idleTimeout?: number;
requestTimeout?: number;
maxErrorCount?: number;
healthCheckInterval?: number;
processRespawnDelay?: number;
}
export interface PoolMetrics {
activeConnections: number;
idleConnections: number;
totalRequests: number;
successfulRequests: number;
failedRequests: number;
averageResponseTime: number;
poolUtilization: number;
healthyProcesses: number;
errorRate: number;
}
export declare class PythonProcessPool extends EventEmitter {
private connections;
private requestQueue;
private config;
private scriptPath;
private healthCheckResourceId?;
private idleCheckResourceId?;
private metrics;
constructor(scriptPath: string, config?: PythonPoolConfig);
private initialize;
private createConnection;
private performConnectionCreation;
private handleResponse;
private handleConnectionError;
private handleConnectionExit;
private sendRequest;
execute(method: string, args?: any[]): Promise<any>;
private performExecution;
private findAvailableConnection;
private processQueue;
private performHealthChecks;
private performActualHealthChecks;
private checkIdleConnections;
private maintainMinimumConnections;
getMetrics(): PoolMetrics;
destroy(): Promise<void>;
}