freeleaps-service-hub/apps/content/scheduler/refresh_sharepoint_content_job.py
2025-01-31 03:52:09 +00:00

20 lines
833 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_selected()
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.")