@gsb-core/core
Version:
GSB core services and classes for platform-independent web applications
33 lines (32 loc) • 1.02 kB
TypeScript
import { GsbWorkflowInstance } from '../../models/gsb-workflow.model';
export interface WorkflowStatus {
id: string;
name: string;
status: 'Operational' | 'Degraded' | 'Down';
lastCheck: Date;
activeInstances: number;
errorCount: number;
performance: {
avgExecutionTime: number;
successRate: number;
};
}
export declare class WorkflowMonitorService {
private entityService;
private statusCache;
private pollInterval;
private pollTimer?;
constructor();
private startPolling;
private updateAllWorkflowStatuses;
private calculateStatus;
private calculateAverage;
getWorkflowStatus(workflowId: string): Promise<WorkflowStatus | null>;
getAllWorkflowStatuses(): Promise<WorkflowStatus[]>;
getOverallWorkflowStatus(): Promise<'Operational' | 'Degraded' | 'Down'>;
/**
* Get workflow instances for a specific workflow
*/
getWorkflowInstances(workflowId: string): Promise<GsbWorkflowInstance[]>;
destroy(): void;
}