UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

25 lines (24 loc) 1.38 kB
import { ExternalTask, ExternalTaskState } from '@5minds/processcube_engine_sdk'; import { DatabaseAdapter } from './BaseDatabaseAdapter'; export declare class ExternalTaskDatabaseAdapter extends DatabaseAdapter { initialize(): Promise<void>; findByFlowNodeInstanceId(flowNodeInstanceId: string): Promise<ExternalTask<unknown>>; findByExternalTaskId(externalTaskId: string): Promise<ExternalTask<unknown>>; ensureExternalTaskForFlowNodeInstanceIdIsCreated<T>(data: { flowNodeInstanceId: string; topic: string; isSingleTry: boolean; externalTaskId?: string; state?: ExternalTaskState; }): Promise<ExternalTask<T>>; deleteExternalTaskByExternalTaskId(externalTaskId: string): Promise<void>; fetchAvailableForProcessing<TPayload>(topicNames: string | Array<string>, maxTasks: number, payloadFilter?: RegExp): Promise<Array<ExternalTask<TPayload>>>; lockForWorker(workerId: string, externalTaskIds: Array<string>, lockExpirationTime: Date): Promise<void>; unlockExternalTasks(externalTaskIds: Array<string>): Promise<void>; getExternalTasksWithActiveLock<TPayload>(): Promise<Array<ExternalTask<TPayload>>>; setExternalTaskLockExpired(externalTaskId: string): Promise<void>; private getJoinsForSelectQuery; private convertToRuntimeObject; private applyPayloadFilter; private tryParse; }