Automate updating embeddings, search index on a hourly schedule

- Use the schedule pypi package
- Use QTimer to poll schedule.run_pending() regularly for jobs to run
This commit is contained in:
Debanjum Singh Solanky
2023-01-01 16:22:35 -03:00
parent a58c243bc0
commit 3b0783aab9
4 changed files with 15 additions and 2 deletions

View File

@@ -3,6 +3,9 @@ import sys
import logging
import json
# External Packages
import schedule
# Internal Packages
from src.processor.ledger.beancount_to_jsonl import BeancountToJsonl
from src.processor.markdown.markdown_to_jsonl import MarkdownToJsonl
@@ -37,6 +40,12 @@ def configure_server(args, required=False):
state.processor_config = configure_processor(args.config.processor)
@schedule.repeat(schedule.every(1).hour)
def update_search_index():
state.model = configure_search(state.model, state.config, regenerate=False)
logger.info("Search Index updated via Scheduler")
def configure_search(model: SearchModels, config: FullConfig, regenerate: bool, t: SearchType = None):
# Initialize Org Notes Search
if (t == SearchType.Org or t == None) and config.content_type.org: