core: add task/daily/finish

This commit is contained in:
undefined committed 2024-11-07 08:55:30 +08:00
1 parent 5e37a63c5f
commit 80199a8ba4
2 files changed
+16 -2

No files matched your search

+15 -2
View File
@@ -63,13 +63,26 @@ export async function apply(ctx: Context) {
ctx.inject(['worker'], (c) => {
ScheduleModel.Worker = c.worker;
c.worker.addHandler('task.daily', async () => {
const pref: Record<string, number> = {};
let start = Date.now();
await RecordModel.coll.deleteMany({ contest: { $in: [RecordModel.RECORD_PRETEST, RecordModel.RECORD_GENERATE] } });
await global.Hydro.script.rp?.run({}, new Logger('task/rp').debug);
await global.Hydro.script.problemStat?.run({}, new Logger('task/problem').debug);
pref.record = Date.now() - start;
start = Date.now();
await global.Hydro.script.rp?.run(pref, new Logger('task/rp').debug);
pref.rp = Date.now() - start;
start = Date.now();
await global.Hydro.script.problemStat?.run(pref, new Logger('task/problem').debug);
pref.problemStat = Date.now() - start;
start = Date.now();
if (global.Hydro.model.system.get('server.checkUpdate') && !(new Date().getDay() % 3)) {
await global.Hydro.script.checkUpdate?.run({}, new Logger('task/checkUpdate').debug);
pref.checkUpdate = Date.now() - start;
start = Date.now();
}
await ctx.parallel('task/daily');
pref.hook = Date.now() - start;
logger.info('task/daily', pref);
ctx.emit('task/daily/finish', pref);
});
});