Update create_engine method to include max_overflow parameter (#1341)

This pull request updates the `create_engine` method in the `DatabaseService` class to include the `max_overflow` parameter. This allows for better control of connection pooling and prevents connection errors when the pool is full. Additionally, it updates the `weaviate-client` version to `4.0.0` and the `langflow` version to `0.6.5a4`.
This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-01-15 19:26:01 -03:00 committed by GitHub
commit f94ff70f70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 692 additions and 571 deletions

1248
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[tool.poetry]
name = "langflow"
version = "0.6.5a3"
version = "0.6.5a4"
description = "A Python package with a built-in web application"
authors = ["Logspace <contact@logspace.ai>"]
maintainers = [
@ -55,7 +55,7 @@ tiktoken = "~0.5.0"
wikipedia = "^1.4.0"
qdrant-client = "^1.7.0"
websockets = "^10.3"
weaviate-client = "^3.26.0"
weaviate-client = "^4.0.0"
jina = "*"
sentence-transformers = { version = "^2.2.2", optional = true }
ctransformers = { version = "^0.2.10", optional = true }

View file

@ -5,17 +5,16 @@ from typing import TYPE_CHECKING
import sqlalchemy as sa
from alembic import command, util
from alembic.config import Config
from loguru import logger
from sqlalchemy import inspect
from sqlalchemy.exc import OperationalError
from sqlmodel import Session, SQLModel, create_engine, select, text
from langflow.services.base import Service
from langflow.services.database import models # noqa
from langflow.services.database.models.user.crud import get_user_by_username
from langflow.services.database.utils import Result, TableResults
from langflow.services.deps import get_settings_service
from langflow.services.utils import teardown_superuser
from loguru import logger
from sqlalchemy import inspect
from sqlalchemy.exc import OperationalError
from sqlmodel import Session, SQLModel, create_engine, select, text
if TYPE_CHECKING:
from sqlalchemy.engine import Engine
@ -40,7 +39,7 @@ class DatabaseService(Service):
connect_args = {"check_same_thread": False}
else:
connect_args = {}
return create_engine(self.database_url, connect_args=connect_args)
return create_engine(self.database_url, connect_args=connect_args, max_overflow=-1)
def __enter__(self):
self._session = Session(self.engine)