UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

39 lines (38 loc) 1.82 kB
import { Cronjob, CronjobEnabledChangedMessage } from '@5minds/processcube_engine_sdk'; import { ProcessDefinitionMediator, ProcessInstanceDatabaseAdapter } from '../Tools'; import { CronjobDatabaseAdapter } from '../Tools/DatabaseAdaptersSequelize/index'; import { IdentityService } from '../Tools/Iam/index'; import { ExecuteProcessService } from './ExecuteProcessService'; import { TimerFacade } from './Facades/index'; export declare class CronjobService { private readonly executeProcessService; private readonly logger; private readonly cronjobAdapter; private readonly processDefinitionMediator; private readonly processInstanceAdapter; private readonly timerFacade; private cronjobDictionary; private internalIdentity; private serviceIsRunning; private notificationSubscriptions; constructor(cronjobAdapter: CronjobDatabaseAdapter, executeProcessService: ExecuteProcessService, identityService: IdentityService, processDefinitionMediator: ProcessDefinitionMediator, processInstanceAdapter: ProcessInstanceDatabaseAdapter, timerFacade: TimerFacade); get isRunning(): boolean; start(): Promise<void>; dispose(): void; stop(): void; updateCronjobs(deployedProcessDefinitionIds: Array<string>, cronjobMap: { [proessDefinitionId: string]: Array<Cronjob>; }): Promise<void>; updateCronjob(options: CronjobEnabledChangedMessage): Promise<void>; removeCronjobsByProcessDefinition(processDefinitionId: string): Promise<void>; private initializeCronjob; private isValidCrontab; private executeProcessModelWithCronjob; private stopCronjobs; private stopCronjob; private getEventMessage; private removeSubscription; private onProcessDeployed; private onProcessUndeployed; private createSubscription; }