-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.ts
32 lines (28 loc) · 882 Bytes
/
index.ts
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
import { Elysia } from 'elysia';
import dotenv from 'dotenv';
import { dbBackupController } from './controllers/db';
import { dirBackupController } from './controllers/directory';
import { cron } from '@elysiajs/cron';
dotenv.config();
const app = new Elysia();
app.use(
cron({
name: 'db-backup',
pattern: String(process.env.CRON_FREQUENCY),
run() {
if (process.env.BACKUP_TYPE?.toLowerCase() === 'database') {
console.log('database cron job starting');
dbBackupController();
}
if (process.env.BACKUP_TYPE?.toLowerCase() === 'directory') {
console.log('directory cron job starting');
dirBackupController();
}
}
})
);
//Listen for traffic
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
console.log(`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`);