Schedule jobs at (co-)prime intervals to reduce overlap in job runs

This commit is contained in:
Debanjum Singh Solanky
2023-05-17 09:45:26 +05:30
parent d42f0f5055
commit 07b19964d4

View File

@@ -63,7 +63,7 @@ def configure_routes(app):
app.include_router(web_client)
@schedule.repeat(schedule.every(1).hour)
@schedule.repeat(schedule.every(61).minutes)
def update_search_index():
state.search_index_lock.acquire()
state.model = configure_search(state.model, state.config, regenerate=False)
@@ -190,7 +190,7 @@ def configure_conversation_processor(conversation_processor_config):
return conversation_processor
@schedule.repeat(schedule.every(15).minutes)
@schedule.repeat(schedule.every(17).minutes)
def save_chat_session():
# No need to create empty log file
if not (
@@ -226,7 +226,7 @@ def save_chat_session():
logger.info("📩 Saved current chat session to conversation logs")
@schedule.repeat(schedule.every(1).minutes)
@schedule.repeat(schedule.every(59).minutes)
def upload_telemetry():
if not state.config.app.should_log_telemetry or not state.telemetry:
message = "📡 No telemetry to upload" if not state.telemetry else "📡 Telemetry logging disabled"