31 lines
766 B
TypeScript
31 lines
766 B
TypeScript
import * as path from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
import Bree from 'bree'
|
|
import { EventsController } from './controllers/EventsController.js'
|
|
|
|
export const jobs = new Bree({
|
|
root: path.join(path.dirname(fileURLToPath(import.meta.url)), 'jobs'),
|
|
defaultExtension: process.env.NODE_ENV == 'production' ? 'js' : 'ts',
|
|
logger: false,
|
|
|
|
jobs: [
|
|
{
|
|
name: 'updatePrinterStatus',
|
|
interval: process.env.UPDATE_INTERVAL || '1m',
|
|
timeout: 0
|
|
},
|
|
{
|
|
name: 'discoverPrinters',
|
|
cron: '0 */12 * * *'
|
|
}
|
|
]
|
|
})
|
|
|
|
jobs.on('worker deleted', name => {
|
|
if (name == 'updatePrinterStatus')
|
|
EventsController.sendEvent({
|
|
message: 'Printers updated',
|
|
timestamp: new Date().toLocaleString()
|
|
})
|
|
})
|