Compare commits

...

1 Commits

Author SHA1 Message Date
-LAN-
dab8d1b4a9 feat(app_factory): speed up flask db migration
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 00:29:27 +08:00
2 changed files with 26 additions and 5 deletions

View File

@@ -1,13 +1,23 @@
from app_factory import create_app
from libs import threadings_utils, version_utils
import sys
from libs import version_utils
# preparation before creating app
version_utils.check_supported_python_version()
threadings_utils.apply_gevent_threading_patch()
# create app
app = create_app()
celery = app.extensions["celery"]
if "db" in sys.argv:
from app_factory import create_migrations_app
app = create_migrations_app()
else:
from app_factory import create_app
from libs import threadings_utils
threadings_utils.apply_gevent_threading_patch()
app = create_app()
celery = app.extensions["celery"]
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5001)

View File

@@ -98,3 +98,14 @@ def initialize_extensions(app: DifyApp):
end_time = time.perf_counter()
if dify_config.DEBUG:
logging.info(f"Loaded {short_name} ({round((end_time - start_time) * 1000, 2)} ms)")
def create_migrations_app():
app = create_flask_app_with_configs()
from extensions import ext_database, ext_migrate
# Initialize only required extensions
ext_database.init_app(app)
ext_migrate.init_app(app)
return app