2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-16 12:05:53 +00:00

Fix isInMainThread and isPluginRegistryLoaded ready functions

This commit is contained in:
wolflu05
2023-07-12 13:57:06 +00:00
parent 5abbf48991
commit ec801a0969

View File

@ -20,21 +20,16 @@ def isRunningMigrations():
def isInMainThread(): def isInMainThread():
"""Django starts two processes, one for the actual dev server and the other to reload the application. """Django runserver starts two processes, one for the actual dev server and the other to reload the application.
- The RUN_MAIN env is set in that case. However if --noreload is applied, this variable - The RUN_MAIN env is set in that case. However if --noreload is applied, this variable
is not set because there are no different threads. is not set because there are no different threads.
- If this app is run in gunicorn there are several threads having "equal rights" so there is no real
main thread so we skip this check
""" """
if '--noreload' in sys.argv or "gunicorn" in os.environ.get("SERVER_SOFTWARE", ""): if "runserver" in sys.argv and "--noreload" not in sys.argv:
return True return os.environ.get('RUN_MAIN', None) == "true"
print("IS_IN_MAIN_THREAD", os.environ.get('RUN_MAIN', None) == 'true')
return True return True
return os.environ.get('RUN_MAIN', None) == 'true'
def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False, allow_shell: bool = False): def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False, allow_shell: bool = False):
"""Returns True if the apps.py file can access database records. """Returns True if the apps.py file can access database records.
@ -92,14 +87,6 @@ def isPluginRegistryLoaded():
Returns: 'False' if the apps have not been reloaded already to prevent running the ready function twice Returns: 'False' if the apps have not been reloaded already to prevent running the ready function twice
""" """
from django.conf import settings
# If plugins are not enabled, there won't be a second load
if not settings.PLUGINS_ENABLED:
return True
from plugin import registry from plugin import registry
print("IS_PLUGIN_REGISTRY_LOADED", not registry.is_loading)
return True
return not registry.is_loading return registry.is_loading