Skip to content

Commit 23c8df6

Browse files
committed
Remove global statement from Fab provider
1 parent 8ec7601 commit 23c8df6

2 files changed

Lines changed: 5 additions & 9 deletions

File tree

providers/fab/src/airflow/providers/fab/www/app.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from __future__ import annotations
1919

2020
from datetime import timedelta
21+
from functools import cache
2122
from os.path import isabs
2223

2324
from flask import Flask
@@ -44,8 +45,6 @@
4445
from airflow.providers.fab.www.extensions.init_wsgi_middlewares import init_wsgi_middleware
4546
from airflow.providers.fab.www.utils import get_session_lifetime_config
4647

47-
app: Flask | None = None
48-
4948
# Initializes at the module level, so plugins can access it.
5049
# See: /docs/plugins.rst
5150
csrf = CSRFProtect()
@@ -119,15 +118,12 @@ def create_app(enable_plugins: bool):
119118
return flask_app
120119

121120

121+
@cache
122122
def cached_app():
123123
"""Return cached instance of Airflow WWW app."""
124-
global app
125-
if not app:
126-
app = create_app()
127-
return app
124+
return create_app()
128125

129126

130127
def purge_cached_app():
131128
"""Remove the cached version of the app in global state."""
132-
global app
133-
app = None
129+
cached_app.cache_clear()

providers/fab/www-hash.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
48926a5d09f218deb70a461d36aecec7e883a2210dea809082c99dbf0bd8d77d
1+
9a7fd1175fa3e57b636662428771b3c9586be5551fe96e8dc35afffd792229d1

0 commit comments

Comments
 (0)