diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 9427893..c5b2059 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@pushrocks/taskbuffer', - version: '3.0.6', + version: '3.0.7', description: 'flexible task management. TypeScript ready!' } diff --git a/ts/taskbuffer.classes.distributedcoordinator.ts b/ts/taskbuffer.classes.distributedcoordinator.ts index a648cdc..893b98a 100644 --- a/ts/taskbuffer.classes.distributedcoordinator.ts +++ b/ts/taskbuffer.classes.distributedcoordinator.ts @@ -21,26 +21,7 @@ export interface ITaskConsultationResult { shouldTrigger: boolean; } -export interface IDistributedCoordinatorConstructorOptions { - /** - * each execution should be announced - */ - announceDistributedDecisionInfoBasis: (distributedCoordinatorArg: DistributedCoordinator, infoBasisArg: IDistributedDecisionInfoBasis) => Promise - updateDistributedDecisionInfoBasis: (distributedCoordinatorArg: DistributedCoordinator, infoBasisArg: IDistributedDecisionInfoBasis) => Promise -} - -export class DistributedCoordinator { - public options: IDistributedCoordinatorConstructorOptions; - - constructor(optionsArg: IDistributedCoordinatorConstructorOptions) { - this.options = optionsArg; - } - - public async announceDistributedDecisionInfoBasis(infoBasisArg: IDistributedDecisionInfoBasis): Promise { - return this.options.announceDistributedDecisionInfoBasis(this, infoBasisArg); - } - public async updateDistributedDevisionInfoBasis(infoBasisArg: IDistributedDecisionInfoBasis): Promise { - return this.options.updateDistributedDecisionInfoBasis(this, infoBasisArg) - } - +export abstract class AbstractDistributedCoordinator { + public abstract announceDistributedDecisionInfoBasis(infoBasisArg: IDistributedDecisionInfoBasis): Promise + public abstract updateDistributedDevisionInfoBasis(infoBasisArg: IDistributedDecisionInfoBasis): Promise } \ No newline at end of file diff --git a/ts/taskbuffer.classes.taskmanager.ts b/ts/taskbuffer.classes.taskmanager.ts index 072172a..ccf5a14 100644 --- a/ts/taskbuffer.classes.taskmanager.ts +++ b/ts/taskbuffer.classes.taskmanager.ts @@ -1,6 +1,6 @@ import * as plugins from './taskbuffer.plugins.js'; import { Task } from './taskbuffer.classes.task.js'; -import { DistributedCoordinator } from './taskbuffer.classes.distributedcoordinator.js'; +import { AbstractDistributedCoordinator } from './taskbuffer.classes.distributedcoordinator.js'; export interface ICronJob { cronString: string; @@ -9,7 +9,7 @@ export interface ICronJob { } export interface ITaskManagerConstructorOptions { - distributedCoordinator?: DistributedCoordinator + distributedCoordinator?: AbstractDistributedCoordinator } export class TaskManager {