mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-03-29 19:23:02 +01:00
27 lines
850 B
Python
27 lines
850 B
Python
from sqlalchemy.orm import Session
|
|
|
|
from ee.onyx.background.task_name_builders import name_chat_ttl_task
|
|
from onyx.db.tasks import check_task_is_live_and_not_timed_out
|
|
from onyx.db.tasks import get_latest_task
|
|
from onyx.utils.logger import setup_logger
|
|
|
|
logger = setup_logger()
|
|
|
|
|
|
def should_perform_chat_ttl_check(
|
|
retention_limit_days: int | None, db_session: Session
|
|
) -> bool:
|
|
# TODO: make this a check for None and add behavior for 0 day TTL
|
|
if not retention_limit_days:
|
|
return False
|
|
|
|
task_name = name_chat_ttl_task(retention_limit_days)
|
|
latest_task = get_latest_task(task_name, db_session)
|
|
if not latest_task:
|
|
return True
|
|
|
|
if check_task_is_live_and_not_timed_out(latest_task, db_session):
|
|
logger.debug(f"{task_name} is already being performed. Skipping.")
|
|
return False
|
|
return True
|