Back-end Code Example
Schedule
From the schedule.js node.js file:
'use strict'
const {SCHEDULE} = require('../configuration')
const schedule = require('node-schedule')
const every_six_minutes = '*/6 * * * *'
const every_seven_minutes = '*/7 * * * *'
const at_three_am = '0 3 * * *'
const every_twenty_minutes = '*/20 * * * *'
const first_day_of_month = '44 4 1 * *'
const at_five_pm = '0 17 * * *'
const process = props => {
const {log, sql} = props
if (SCHEDULE.processor) {
const process = require('./schedule-processor')
const job = schedule.scheduleJob(every_six_minutes, () => {
process.process()
})
sql.add([log.info(`Scheduler for processor set to [${every_six_minutes}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for processor`)])
}
if (SCHEDULE.backup) {
const process = require('./schedule-backup')
const job = schedule.scheduleJob(at_three_am, () => {
process.process()
})
sql.add([log.info(`Scheduler for backup set to [${at_three_am}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for backup`)])
}
if (SCHEDULE.vecozo) {
const process = require('./schedule-vecozo')
const job = schedule.scheduleJob(every_twenty_minutes, () => {
process.process()
})
sql.add([log.info(`Scheduler for vecozo set to [${every_twenty_minutes}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for vecozo`)])
}
if (SCHEDULE.notification) {
const process = require('./schedule-notification')
const job = schedule.scheduleJob(every_six_minutes, () => {
process.process()
})
sql.add([log.info(`Scheduler for notification set to [${every_six_minutes}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for notification`)])
}
if (SCHEDULE.daily_notification) {
const process = require('./schedule-daily')
const job = schedule.scheduleJob(at_five_pm, () => {
process.process()
})
sql.add([log.info(`Scheduler for daily notification set to [${at_five_pm}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for daily notification`)])
}
if (SCHEDULE.statement) {
const process = require('./schedule-statement')
const job = schedule.scheduleJob(first_day_of_month, () => {
process.process()
})
sql.add([log.info(`Scheduler for generating statements set to [${first_day_of_month}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for generating statements`)])
}
if (SCHEDULE.credit_invoice) {
const process = require('./schedule-credit-invoice')
const job = schedule.scheduleJob(every_seven_minutes, () => {
process.process()
})
sql.add([log.info(`Scheduler for generating credit invoices set to [${every_seven_minutes}]`, job.name)])
} else {
sql.add([log.info(`Skipping scheduler for generating credit invoices`)])
}
}
module.exports = process
Comments