23 lines
717 B
Python
23 lines
717 B
Python
import time
|
|
|
|
from app.modules.shared.checkpointer import get_checkpointer
|
|
|
|
|
|
def bootstrap_database(rag_repository, chat_repository, agent_repository, story_context_repository) -> None:
|
|
last_error: Exception | None = None
|
|
for attempt in range(1, 16):
|
|
try:
|
|
rag_repository.ensure_tables()
|
|
chat_repository.ensure_tables()
|
|
agent_repository.ensure_tables()
|
|
story_context_repository.ensure_tables()
|
|
get_checkpointer()
|
|
return
|
|
except Exception as exc: # noqa: BLE001
|
|
last_error = exc
|
|
if attempt == 15:
|
|
break
|
|
time.sleep(1)
|
|
assert last_error is not None
|
|
raise last_error
|