vulcain-corejs
Version:
Vulcain micro-service framework
34 lines (33 loc) • 1.19 kB
TypeScript
import { CommandProperties } from './commandProperties';
import { AbstractCommand } from './abstractCommand';
import { Semaphore } from './semaphore';
import { ExecutionResult } from './executionResult';
export interface CommandInfo {
commandKey: string;
commandGroup: string;
timeout: number;
isErrorHandler: (error: any) => any;
metricsConfig: any;
circuitConfig: any;
requestVolumeRejectionThreshold: number;
}
export declare class HystrixCommand {
private properties;
private command;
private context;
status: ExecutionResult;
private running;
private _arguments;
private metrics;
constructor(properties: CommandProperties, command: AbstractCommand<any>, context: any);
readonly circuitBreaker: any;
readonly semaphore: Semaphore;
setSchemaOnCommandAsync(schema: string): Promise<void>;
executeAsync<T>(...args: any[]): Promise<T>;
private getFallbackOrThrowException(eventType, failureType, message, error);
private onExecutionError(ms, e);
private logInfo(msg);
private isUnrecoverable(e);
private getLogMessagePrefix();
protected recordTotalExecutionTime(duration: any): void;
}