Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import Logger from "bunyan"; import { AppStatusRepository } from "./types/AppStatus"; export class BatchSearvice { constructor( private appName: string, private appStatusRepo: AppStatusRepository ) {} async run(logger: Logger, fn: (logger: Logger) => Promise<void>) { try { logger.info("batch start"); this.appStatusRepo.upsertAppStatusRunning(this.appName, new Date()); await fn(logger); this.appStatusRepo.upsertAppStatusStopped(this.appName, new Date()); } catch (err) { this.appStatusRepo.upsertAppStatusError(this.appName, new Date()); logger.error({ err }, "error occured"); } finally { logger.info("batch end"); } } } |