@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
25 lines (24 loc) • 1.38 kB
TypeScript
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;
}