Re-instate the scheduler for the demo instances (#279)

* For the demo instance, re-instate the scheduler, but infrequently for api updates

- In constants, determine the cadence based on whether it's a demo instance or not
- This allow us to collect telemetry again. This will also allow us to save the chat session

* Conditionally skip updating the index altogether if it's a demo isntance
This commit is contained in:
sabaimran
2023-07-06 11:01:32 -07:00
committed by GitHub
parent 8f36572a9b
commit d688ddf92c
3 changed files with 11 additions and 9 deletions

View File

@@ -67,6 +67,8 @@ def configure_routes(app):
app.include_router(web_client) app.include_router(web_client)
if not state.demo:
@schedule.repeat(schedule.every(61).minutes) @schedule.repeat(schedule.every(61).minutes)
def update_search_index(): def update_search_index():
state.search_index_lock.acquire() state.search_index_lock.acquire()

View File

@@ -65,7 +65,6 @@ def run():
logger.info("🌘 Starting Khoj") logger.info("🌘 Starting Khoj")
if not args.gui: if not args.gui:
if not state.demo:
# Setup task scheduler # Setup task scheduler
poll_task_scheduler() poll_task_scheduler()

View File

@@ -41,6 +41,7 @@ from fastapi.responses import StreamingResponse
api = APIRouter() api = APIRouter()
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# If it's a demo instance, prevent updating any of the configuration.
if not state.demo: if not state.demo:
@api.get("/config/data", response_model=FullConfig) @api.get("/config/data", response_model=FullConfig)