From 1cf119c76827c22dcac9f2417b6f65b64cd43e26 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Wed, 3 Jul 2024 19:47:13 +0200 Subject: [PATCH] feat: log elapsed cron job time (#742) --- packages/cron-jobs-core/src/creator.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/cron-jobs-core/src/creator.ts b/packages/cron-jobs-core/src/creator.ts index 882a2be68..d6e367b5b 100644 --- a/packages/cron-jobs-core/src/creator.ts +++ b/packages/cron-jobs-core/src/creator.ts @@ -1,5 +1,6 @@ import cron from "node-cron"; +import { Stopwatch } from "@homarr/common"; import type { MaybePromise } from "@homarr/common/types"; import type { Logger } from "./logger"; @@ -27,9 +28,14 @@ const createCallback = { try { creatorOptions.logger.logDebug(`The callback of '${name}' cron job started`); + const stopwatch = new Stopwatch(); await creatorOptions.beforeCallback?.(name); + const beforeCallbackTook = stopwatch.getElapsedInHumanWords(); await callback(); - creatorOptions.logger.logInfo(`The callback of '${name}' cron job succeeded`); + const callbackTook = stopwatch.getElapsedInHumanWords(); + creatorOptions.logger.logInfo( + `The callback of '${name}' cron job succeeded (before callback took ${beforeCallbackTook}, callback took ${callbackTook})`, + ); await creatorOptions.onCallbackSuccess?.(name); } catch (error) { creatorOptions.logger.logError(error);