This commit is contained in:
Manav Rathi 2024-05-15 10:08:28 +05:30
parent 34a3a8700e
commit 8eb3170067
No known key found for this signature in database

View file

@ -25,19 +25,20 @@ export interface JobConfig {
backoffMultiplier: number;
}
export interface JobResult {
export interface MLSyncJobResult {
shouldBackoff: boolean;
mlSyncResult: MLSyncResult;
}
export class SimpleJob<R extends JobResult> {
export class MLSyncJob {
private config: JobConfig;
private runCallback: () => Promise<R>;
private runCallback: () => Promise<MLSyncJobResult>;
private state: JobState;
private stopped: boolean;
private intervalSec: number;
private nextTimeoutId: ReturnType<typeof setTimeout>;
constructor(config: JobConfig, runCallback: () => Promise<R>) {
constructor(config: JobConfig, runCallback: () => Promise<MLSyncJobResult>) {
this.config = config;
this.runCallback = runCallback;
this.state = "NotScheduled";
@ -109,12 +110,6 @@ export class SimpleJob<R extends JobResult> {
}
}
export interface MLSyncJobResult extends JobResult {
mlSyncResult: MLSyncResult;
}
export class MLSyncJob extends SimpleJob<MLSyncJobResult> {}
class MLWorkManager {
private mlSyncJob: MLSyncJob;
private syncJobWorker: ComlinkWorker<typeof DedicatedMLWorker>;