From 39dcaf1be7e6da74b0e534c4705841373368a617 Mon Sep 17 00:00:00 2001 From: Matthew Zhou Date: Wed, 9 Apr 2025 15:42:18 -0700 Subject: [PATCH] feat: Add flag for enabling batch polling (#1651) --- letta/jobs/scheduler.py | 24 +++++++++++++----------- letta/settings.py | 1 + 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/letta/jobs/scheduler.py b/letta/jobs/scheduler.py index efbdacea..9ed946d2 100644 --- a/letta/jobs/scheduler.py +++ b/letta/jobs/scheduler.py @@ -12,17 +12,19 @@ scheduler = AsyncIOScheduler() def start_cron_jobs(server: SyncServer): """Initialize cron jobs""" - scheduler.add_job( - poll_running_llm_batches, - args=[server], - trigger=IntervalTrigger(seconds=settings.poll_running_llm_batches_interval_seconds), - next_run_time=datetime.datetime.now(datetime.UTC), - id="poll_llm_batches", - name="Poll LLM API batch jobs and update status", - replace_existing=True, - ) - scheduler.start() + if settings.enable_batch_job_polling: + scheduler.add_job( + poll_running_llm_batches, + args=[server], + trigger=IntervalTrigger(seconds=settings.poll_running_llm_batches_interval_seconds), + next_run_time=datetime.datetime.now(datetime.UTC), + id="poll_llm_batches", + name="Poll LLM API batch jobs and update status", + replace_existing=True, + ) + scheduler.start() def shutdown_cron_scheduler(): - scheduler.shutdown() + if settings.enable_batch_job_polling: + scheduler.shutdown() diff --git a/letta/settings.py b/letta/settings.py index dffa0faf..0dc66a26 100644 --- a/letta/settings.py +++ b/letta/settings.py @@ -205,6 +205,7 @@ class Settings(BaseSettings): httpx_keepalive_expiry: float = 120.0 # cron job parameters + enable_batch_job_polling: bool = False poll_running_llm_batches_interval_seconds: int = 5 * 60 @property