mirror of
https://github.com/orangecoding/fredy.git
synced 2026-06-16 12:31:07 +00:00
using cron to run demo cleanup every day at midnight
This commit is contained in:
@@ -1,29 +1,14 @@
|
|||||||
import { setInterval } from 'node:timers';
|
|
||||||
import { removeJobsByUserId } from './storage/jobStorage.js';
|
import { removeJobsByUserId } from './storage/jobStorage.js';
|
||||||
import { config } from '../utils.js';
|
import { config } from '../utils.js';
|
||||||
import { getUsers } from './storage/userStorage.js';
|
import { getUsers } from './storage/userStorage.js';
|
||||||
import logger from './logger.js';
|
import logger from './logger.js';
|
||||||
|
import cron from 'node-cron';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* if we are running in demo environment, we have to cleanup the db files (specifically the jobs table)
|
* if we are running in demo environment, we have to cleanup the db files (specifically the jobs table)
|
||||||
*/
|
*/
|
||||||
export function cleanupDemoAtMidnight() {
|
export function cleanupDemoAtMidnight() {
|
||||||
const now = new Date();
|
cron.schedule('0 0 * * *', cleanup);
|
||||||
const millisUntilMidnightUTC =
|
|
||||||
(24 - now.getUTCHours()) * 60 * 60 * 1000 -
|
|
||||||
now.getUTCMinutes() * 60 * 1000 -
|
|
||||||
now.getUTCSeconds() * 1000 -
|
|
||||||
now.getUTCMilliseconds();
|
|
||||||
|
|
||||||
cleanup();
|
|
||||||
setTimeout(() => {
|
|
||||||
setInterval(
|
|
||||||
() => {
|
|
||||||
cleanup();
|
|
||||||
},
|
|
||||||
24 * 60 * 60 * 1000,
|
|
||||||
);
|
|
||||||
}, millisUntilMidnightUTC);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanup() {
|
function cleanup() {
|
||||||
|
|||||||
Reference in New Issue
Block a user