Files
sendou.ink/app/routines/routine.server.ts
2026-09-06 14:00:27 +03:00

31 lines
590 B
TypeScript

import { logger } from "../utils/logger";
export class Routine {
readonly name;
private readonly func;
constructor({
name,
func,
}: {
name: string;
func: () => Promise<void>;
}) {
this.name = name;
this.func = func;
}
async run() {
logger.info(`Running routine: ${this.name}`);
const startTime = performance.now();
try {
await this.func();
} catch (error) {
logger.error(`Error running routine ${this.name}: ${error}`);
return;
}
const endTime = performance.now();
logger.info(`Routine ${this.name} completed in ${endTime - startTime}ms`);
}
}