| |
| |
| |
| |
|
|
| import { Logger } from "@/lib/logger"; |
| import { startTriggerProcessor } from "@/lib/workflow-triggers"; |
| import { startSocialAutomationWorker, stopSocialAutomationWorker } from "@/lib/workers/social-automation"; |
| import { startScheduledPostWorker, stopScheduledPostWorker } from "@/lib/workers/scheduled-posts"; |
|
|
| let started = false; |
|
|
| export async function startBackgroundWorkers() { |
| if (started) { |
| return; |
| } |
|
|
| started = true; |
|
|
| Logger.info("Starting background automation services"); |
|
|
| startTriggerProcessor(); |
| startScheduledPostWorker(); |
|
|
| if (process.env.ENABLE_SOCIAL_POLLING === "true") { |
| await startSocialAutomationWorker(); |
| } |
|
|
| Logger.info("Background automation services started", { |
| socialPolling: process.env.ENABLE_SOCIAL_POLLING === "true", |
| }); |
| } |
|
|
| export function stopBackgroundWorkers() { |
| stopScheduledPostWorker(); |
|
|
| if (process.env.ENABLE_SOCIAL_POLLING === "true") { |
| stopSocialAutomationWorker(); |
| } |
|
|
| started = false; |
| } |
|
|