Files
books/main/initSheduler.ts

48 lines
906 B
TypeScript

import Bree from 'bree';
import path from 'path';
import main from 'main';
let bree: Bree;
export async function initScheduler(interval: string) {
const jobsRoot = path.join(__dirname, '..', '..', 'jobs');
if (bree) {
await bree.stop();
}
bree = new Bree({
root: jobsRoot,
defaultExtension: 'ts',
jobs: [
{
name: 'triggerErpNextSync',
interval: interval,
worker: {
workerData: {
useTsNode: true,
},
},
},
{
name: 'checkLoyaltyProgramExpiry',
interval: '24 hours',
worker: {
workerData: {
useTsNode: true,
},
},
},
],
worker: {
argv: ['--require', 'ts-node/register'],
},
});
bree.on('worker created', () => {
main.mainWindow?.webContents.send('trigger-erpnext-sync');
});
await bree.start();
}