UNPKG

1.08 kBJavaScriptView Raw
1import { schedule } from 'node-cron';
2import Logger from 'nightingale';
3import * as screen from './commands/screen';
4import * as display from './commands/display';
5
6const logger = new Logger('app:cron');
7
8const screenOnTask = schedule(
9 '30 8 * * 1-5',
10 () => {
11 logger.info('screen on');
12 screen.on();
13 },
14 false,
15);
16
17const screenOffTask = schedule(
18 '0 20 * * 1-5',
19 () => {
20 logger.info('screen off');
21 screen.off();
22 },
23 false,
24);
25
26const refreshTask = schedule(
27 '*/30 9,10,11,12,13,14,15,16,17,18,19 * * 1-5',
28 () => {
29 logger.info('refresh');
30 display.refresh();
31 },
32 false,
33);
34
35export default config => {
36 if (config.screenOff) {
37 logger.info('staring cron screen tasks');
38 screenOnTask.start();
39 screenOffTask.start();
40 } else {
41 logger.info('stopping cron screen tasks');
42 screenOnTask.stop();
43 screenOffTask.stop();
44 }
45
46 if (config.autoRefresh) {
47 logger.info('staring cron autoRefresh tasks');
48 refreshTask.start();
49 } else {
50 logger.info('stopping cron autoRefresh tasks');
51 refreshTask.stop();
52 }
53};