Spaces:
Paused
Paused
File size: 727 Bytes
8822914 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
class CronWorker {
interval: number;
is_running: boolean;
intervalId: NodeJS.Timeout;
constructor() {
this.interval = 1000; // Default interval of 1 second
this.is_running = false;
this.intervalId = setInterval(() => {
this.run();
}, this.interval);
}
async run() {
if (this.is_running) {
return;
}
this.is_running = true;
try {
// Loop logic here
await this.loop();
} catch (error) {
console.error('Error in cron worker loop:', error);
}
this.is_running = false;
}
async loop() {}
}
// it automatically starts the loop
const cronWorker = new CronWorker();
console.log('Cron worker started with interval:', cronWorker.interval, 'ms');
|