async def _check_syncs(self):
        """Check for syncs that are due to run."""
        check_start_time = datetime.now(timezone.utc)
        logger.debug(f"Checking for due syncs at {check_start_time.isoformat()}")

        async with get_db_context() as db:
            # Get all active syncs with cron schedules
            syncs = await self._get_active_syncs_with_schedule(db)

            if syncs:
                logger.debug(f"Found {len(syncs)} syncs that may be due for execution")
            else:
                logger.debug("No syncs found that are due for execution")

            # Check each sync
            processed_count = 0
            triggered_count = 0
            for sync in syncs:
                sync_start_time = datetime.now(timezone.utc)
                logger.debug(f"Processing sync {sync.id} ({sync.name})")

                was_triggered = await self._process_sync(db, sync)
                processed_count += 1
                if was_triggered:
                    triggered_count += 1

                sync_duration = (datetime.now(timezone.utc) - sync_start_time).total_seconds()
                logger.debug(f"Processed sync {sync.id} in {sync_duration:.3f}s")

            check_duration = (datetime.now(timezone.utc) - check_start_time).total_seconds()
            if processed_count > 0:
                logger.debug(
                    f"Processed {processed_count} syncs, triggered {triggered_count} in "
                    f"{check_duration:.3f}s"
                )
            else:
                logger.debug(f"No syncs processed in {check_duration:.3f}s")
Check for syncs that are due to run.
backend/airweave/platform/scheduler.py