from apscheduler.schedulers.asyncio import AsyncIOScheduler from scheduler.refresh_sharepoint_content_job import refresh_sharepoint_content_job from common.log.log_utils import log_entry_exit_async from scheduler.constants import ScheduleJobLocker from scheduler.schedule_job_locker import init_lock @log_entry_exit_async async def create_scheduler() -> AsyncIOScheduler: scheduler: AsyncIOScheduler = AsyncIOScheduler() await register_job(scheduler) return scheduler @log_entry_exit_async async def register_job(scheduler): await init_lock(ScheduleJobLocker.REFRESH_SHAREPOINT_CONTENT_JOB_LOCKER) scheduler.add_job(refresh_sharepoint_content_job, "interval", seconds=(3600 + 3))