Files
speckle-server/packages/server/modules/webhooks/index.ts
T
Iain Sproat 444d2ca7dd Structured logging (attempt 2) (#1234)
* Revert "Revert "feat(structured logging): implements structured logging for backend (#1217)" (#1227)"

This reverts commit 63e6581162.

* Use pino-http instead of express pino logger
* Use correct reference to knex and do not instantiate HttpLogger prematurely
* Adds missing dependency for pino to webhook-service
* Do not instantiate middleware when passed to express
* Refactor to move logging into shared
* Copy shared packages into dockerfiles
* Build shared workspace in docker build-stage for fileimport & webhook
2022-12-05 14:49:52 +00:00

26 lines
936 B
TypeScript

import cron from 'node-cron'
import { SpeckleModule } from '@/modules/shared/helpers/typeHelper'
import { scheduleExecution } from '@/modules/core/services/taskScheduler'
import { cleanOrphanedWebhookConfigs } from '@/modules/webhooks/services/cleanup'
import { activitiesLogger, moduleLogger } from '@/logging/logging'
const scheduleWebhookCleanup = () => {
const cronExpression = '0 4 * * 1'
return scheduleExecution(cronExpression, 'weeklyWebhookCleanup', async () => {
activitiesLogger.info('Starting weekly webhooks cleanup')
await cleanOrphanedWebhookConfigs()
activitiesLogger.info('Finished cleanup')
})
}
let scheduledTask: cron.ScheduledTask | null = null
export const init: SpeckleModule['init'] = () => {
moduleLogger.info('🎣 Init webhooks module')
scheduledTask = scheduleWebhookCleanup()
}
export const shutdown: SpeckleModule['shutdown'] = () => {
if (scheduledTask) scheduledTask.stop()
}