ifms-printer-manager/src/jobs.ts

31 lines
766 B
TypeScript
Raw Normal View History

2023-06-28 18:34:15 +00:00
import * as path from 'node:path'
import { fileURLToPath } from 'node:url'
import Bree from 'bree'
2024-01-24 19:13:21 +00:00
import { EventsController } from './controllers/EventsController.js'
2023-06-26 12:34:14 +00:00
export const jobs = new Bree({
2023-06-28 18:34:15 +00:00
root: path.join(path.dirname(fileURLToPath(import.meta.url)), 'jobs'),
defaultExtension: process.env.NODE_ENV == 'production' ? 'js' : 'ts',
2023-06-26 12:34:14 +00:00
logger: false,
2024-01-24 19:13:21 +00:00
2023-06-26 12:34:14 +00:00
jobs: [
{
2023-06-28 18:34:15 +00:00
name: 'updatePrinterStatus',
interval: process.env.UPDATE_INTERVAL || '1m',
timeout: 0
2023-06-26 12:34:14 +00:00
},
{
2023-06-28 18:34:15 +00:00
name: 'discoverPrinters',
cron: '0 */12 * * *'
}
]
2023-06-26 12:34:14 +00:00
})
2024-01-24 19:13:21 +00:00
jobs.on('worker deleted', name => {
if (name == 'updatePrinterStatus')
2024-01-29 12:47:11 +00:00
EventsController.sendEvent({
message: 'Printers updated',
timestamp: new Date().toLocaleString()
})
2024-01-24 19:13:21 +00:00
})