import { getCloudSyncScheduler } from "@/shared/services/cloudSyncScheduler"; import { getHFDatasetBackupScheduler } from "@/shared/services/hfDatasetBackupScheduler"; import { isCloudEnabled, cleanupProviderConnections } from "@/lib/localDb"; /** * Initialize cloud sync scheduler * This should be called when the application starts */ export async function initializeCloudSync() { try { // Cleanup null fields from existing data await cleanupProviderConnections(); // Create scheduler instance with default 15-minute interval const scheduler = await getCloudSyncScheduler(null, 15); // Start the scheduler await scheduler.start(); // Start HF dataset backup scheduler (enabled only when HF_DATASET_REPO_ID + HF_TOKEN are set) const backupScheduler = await getHFDatasetBackupScheduler(5); await backupScheduler.start(); return scheduler; } catch (error) { console.error("[CloudSync] Error initializing scheduler:", error); throw error; } } // For development/testing purposes if (typeof require !== "undefined" && require.main === module) { initializeCloudSync().catch((err) => console.error("[CloudSync] init failed:", err)); } export default initializeCloudSync;