-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
43 lines (38 loc) · 1.16 KB
/
server.js
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
33
34
35
36
37
38
39
40
41
42
43
process.env.TZ = 'Australia/Sydney';
require('./newrelic');
const app = require('./app').app;
const logger = require('./api/utilities/logger');
const databaseUtil = require('./api/utilities/database-util');
const ports = [app.get('port'), app.get('secure-port')];
ports.forEach(port => {
app.listen(port, () => {
logger.info(`Find the server at: http://localhost:${port}/`);
})
});
// cron job for scheduled email
const config = require('config');
const CronJob = require('cron').CronJob;
const reminderEmail = require('./api/service/send-email-service').reminderEmail;
new CronJob(config.get('reminderEmail.schedule'), async function() {
try {
if (config.get('reminderEmail.enabled')) {
logger.debug('try to send scheduled email');
await reminderEmail();
}
} catch (error) {
logger.error(error);
}
}, function () {
logger.debug('scheduler stop');
},
true, /* Start the job right now */
'Australia/Sydney'
);
new CronJob(config.get('databaseBackup.schedule'), async function() {
databaseUtil.backupDatabase();
}, function() {
logger.debug('database backup stopped');
},
true,
'Australia/Sydney'
);