freeleaps-service-hub/apps/content/scheduler/refresh_sharepoint_content_job.py
2024-10-30 07:22:26 -07:00

18 lines
826 B
Python

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.")