@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
35 lines (34 loc) • 2.06 kB
TypeScript
import { BaseError, FlowNodeInstance, Model } from '@5minds/processcube_engine_sdk';
import { ExternalTaskDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/ExternalTaskAdapter';
import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/FlowNodeInstanceAdapter';
import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler';
import { ProcessInstance } from '../../ProcessInstance';
import { ActivityHandler } from './ActivityHandler';
import { ActivityInstanceHandler } from './ActivityInstanceHandler';
export declare class ExternalServiceTaskInstanceHandler extends ActivityInstanceHandler<Model.Activities.ServiceTask> {
private readonly externalTaskDatabaseAdapter;
private externalTaskId;
private externalTaskFinishedSubscription;
private externalTaskExpiredSubscription;
private externalTaskFinishedEventId;
protected loggerNamespace: string;
constructor(eventMiddlewareHandler: EventMiddlewareHandler, externalTaskDatabaseAdapter: ExternalTaskDatabaseAdapter, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, activityHandler: ActivityHandler<Model.Activities.ServiceTask>, processInstance: ProcessInstance, previousFlowNodeInstanceId?: string, instanceContext?: {
[key: string]: any;
});
private get serviceTask();
protected persistOnExit(dataObjectValues: Record<string, any>): Promise<void>;
protected persistOnError(error: BaseError): Promise<void>;
protected persistOnTerminate(): Promise<void>;
protected afterExecute(): Promise<void>;
protected resumeAfterSuspend(flowNodeInstance: FlowNodeInstance): Promise<void>;
protected runHandler(): Promise<void>;
private configureExternalTask;
private parseExternalTaskTopic;
private parseExternalTaskPayload;
private getTypeDataForStateChange;
private executeExternalServiceTask;
private waitForExternalTaskResult;
private executeExpression;
private publishExternalTaskCreatedNotification;
private getDataForErrors;
}