import logging from scheduler.constants import ScheduleJobLocker from scheduler.schedule_job_locker import acquire_lock, release_lock from backend.content.refresh_sharepoint_content import SharePointContentRefresher async def refresh_sharepoint_content_job(): if await acquire_lock(ScheduleJobLocker.REFRESH_SHAREPOINT_CONTENT_JOB_LOCKER, 3600): try: logging.info("Starting job to refresh sharepoint content job.") sharepoint_refresher = SharePointContentRefresher() await sharepoint_refresher.refresh_all_in_database() logging.info("Exiting job to refresh sharepoint content job.") finally: await release_lock(ScheduleJobLocker.REFRESH_SHAREPOINT_CONTENT_JOB_LOCKER) else: logging.info("The job has been locked by other process.")