pstream-backend/server/tasks/jobs/clear-metrics/daily.ts
2025-07-17 11:18:15 -06:00

43 lines
No EOL
1.2 KiB
TypeScript

import { defineTask } from '#imports';
import { scopedLogger } from '../../../utils/logger';
import { setupMetrics } from '../../../utils/metrics';
const logger = scopedLogger('tasks:clear-metrics:daily');
export default defineTask({
meta: {
name: "jobs:clear-metrics:daily",
description: "Clear daily metrics at midnight",
},
async run() {
logger.info("Clearing daily metrics");
const startTime = Date.now();
try {
// Clear and reinitialize daily metrics
await setupMetrics('daily', true);
const executionTime = Date.now() - startTime;
logger.info(`Daily metrics cleared in ${executionTime}ms`);
return {
result: {
status: "success",
message: "Successfully cleared daily metrics",
executionTimeMs: executionTime,
timestamp: new Date().toISOString()
}
};
} catch (error) {
logger.error("Error clearing daily metrics:", { error: error.message });
return {
result: {
status: "error",
message: error.message || "An error occurred clearing daily metrics",
executionTimeMs: Date.now() - startTime,
timestamp: new Date().toISOString()
}
};
}
},
});