(job: Job<CronQueuePayload>)
| 22 | import { logger } from '@/utils/logger'; |
| 23 | |
| 24 | export async function cronJob(job: Job<CronQueuePayload>) { |
| 25 | logger.debug(`Cron job started - ${job.data.type}`); |
| 26 | switch (job.data.type) { |
| 27 | case 'salt': { |
| 28 | return await salt(); |
| 29 | } |
| 30 | case 'flushEvents': { |
| 31 | return await eventBuffer.tryFlush({ trigger: 'cron' }); |
| 32 | } |
| 33 | case 'flushProfiles': { |
| 34 | return await profileBuffer.tryFlush({ trigger: 'cron' }); |
| 35 | } |
| 36 | case 'flushSessions': { |
| 37 | return await sessionBuffer.tryFlush({ trigger: 'cron' }); |
| 38 | } |
| 39 | case 'flushProfileBackfill': { |
| 40 | return await profileBackfillBuffer.tryFlush({ trigger: 'cron' }); |
| 41 | } |
| 42 | case 'flushReplay': { |
| 43 | return await replayBuffer.tryFlush({ trigger: 'cron' }); |
| 44 | } |
| 45 | case 'flushGroups': { |
| 46 | return await groupBuffer.tryFlush({ trigger: 'cron' }); |
| 47 | } |
| 48 | case 'ping': { |
| 49 | return await ping(); |
| 50 | } |
| 51 | case 'delete': { |
| 52 | return await jobDelete(); |
| 53 | } |
| 54 | case 'insightsDaily': { |
| 55 | return await insightsDailyJob(job); |
| 56 | } |
| 57 | case 'onboarding': { |
| 58 | return await onboardingJob(job); |
| 59 | } |
| 60 | case 'gscSync': { |
| 61 | return await gscSyncAllJob(); |
| 62 | } |
| 63 | case 'cohortRefresh': { |
| 64 | return await cohortRefreshCronJob(); |
| 65 | } |
| 66 | case 'sessionReaper': { |
| 67 | return await sessionReaperCronJob(); |
| 68 | } |
| 69 | case 'sessionVacuum': { |
| 70 | return await sessionVacuumCronJob(); |
| 71 | } |
| 72 | case 'insightCleanup': { |
| 73 | return await insightCleanupCronJob(); |
| 74 | } |
| 75 | case 'weeklyDigest': { |
| 76 | return await weeklyDigestCronJob(); |
| 77 | } |
| 78 | } |
| 79 | } |
no test coverage detected