File tree Expand file tree Collapse file tree 3 files changed +24
-11
lines changed
Expand file tree Collapse file tree 3 files changed +24
-11
lines changed Original file line number Diff line number Diff line change 1010from channels .security .websocket import AllowedHostsOriginValidator
1111from django .core .asgi import get_asgi_application
1212
13- from dakara_server .routing import websocket_urlpatterns
14- from dakara_server .token_auth import TokenAuthMiddleware
15-
1613os .environ .setdefault ("DJANGO_SETTINGS_MODULE" , "dakara_server.settings.development" )
1714
15+ # Initialize Django ASGI application early to ensure the AppRegistry is
16+ # populated before importing code that may import ORM models.
17+ asgi_application = get_asgi_application ()
18+
19+ from dakara_server .routing import websocket_urlpatterns # noqa E402
20+ from dakara_server .token_auth import TokenAuthMiddleware # noqa E402
21+
1822application = ProtocolTypeRouter (
1923 {
20- "http" : get_asgi_application () ,
24+ "http" : asgi_application ,
2125 "websocket" : AllowedHostsOriginValidator (
2226 AuthMiddlewareStack (TokenAuthMiddleware (URLRouter (websocket_urlpatterns )))
2327 ),
Original file line number Diff line number Diff line change 2828 "django.contrib.contenttypes" ,
2929 "django.contrib.sessions" ,
3030 "django.contrib.messages" ,
31+ "daphne" ,
3132 "django.contrib.staticfiles" ,
3233 "rest_framework" ,
3334 "rest_framework.authtoken" ,
Original file line number Diff line number Diff line change 1+ from threading import Event
2+
13from django .db .backends .signals import connection_created
24from django .dispatch import receiver
35
46from internal .reloader import is_reloader
57
8+ connection_created_once = Event ()
9+
610
711@receiver (connection_created )
812def handle_connection_created (connection , ** kwargs ):
913 """Perform playlist initialization operations as soon as the database is
1014 ready."""
11- from playlist .date_stop import check_date_stop_on_app_ready
12- from playlist .models import clean_channel_names
15+ # make sure this code is called only once
16+ if not connection_created_once .is_set ():
17+ connection_created_once .set ()
18+
19+ from playlist .date_stop import check_date_stop_on_app_ready
20+ from playlist .models import clean_channel_names
1321
14- clean_channel_names ()
22+ clean_channel_names ()
1523
16- if is_reloader ():
17- return
24+ if is_reloader ():
25+ return
1826
19- # not called by the reloader
20- check_date_stop_on_app_ready ()
27+ # not called by the reloader
28+ check_date_stop_on_app_ready ()
You can’t perform that action at this time.
0 commit comments