import { CampaignStatus, prisma } from '../lib/prisma'; import { logger } from '../lib/logger'; import { syncCampaignDay } from '../services/campaign.service'; export async function runCampaignRolloverJob(): Promise { logger.info('Campaign rollover job started'); const campaigns = await prisma.warmupCampaign.findMany({ where: { status: { in: [CampaignStatus.active, CampaignStatus.maintenance] }, }, select: { id: true }, }); for (const campaign of campaigns) { try { await syncCampaignDay(campaign.id); } catch (err) { logger.error({ err, campaignId: campaign.id }, 'Campaign rollover failed'); } } logger.info('Campaign rollover job finished'); }