瀏覽代碼

add preliminary support for ASGI/daphne serving

Nick Sweeting 1 年之前
父節點
當前提交
2c48dabfab
共有 2 個文件被更改,包括 29 次插入0 次删除
  1. 28 0
      archivebox/core/asgi.py
  2. 1 0
      archivebox/core/settings.py

+ 28 - 0
archivebox/core/asgi.py

@@ -0,0 +1,28 @@
+"""
+WSGI config for archivebox project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/
+"""
+
+import os
+
+from archivebox.config import setup_django
+
+setup_django(in_memory_db=False, check_db=True)
+
+
+from django.core.asgi import get_asgi_application
+from channels.routing import ProtocolTypeRouter
+
+
+django_asgi_app = get_asgi_application()
+
+application = ProtocolTypeRouter(
+    {
+        "http": django_asgi_app,
+        # Just HTTP for now. (We can add other protocols later.)
+    }
+)

+ 1 - 0
archivebox/core/settings.py

@@ -65,6 +65,7 @@ PLUGIN_KEYS = AttrDict({
 ################################################################################
 ################################################################################
 
 
 WSGI_APPLICATION = 'core.wsgi.application'
 WSGI_APPLICATION = 'core.wsgi.application'
+ASGI_APPLICATION = "core.asgi.application"
 ROOT_URLCONF = 'core.urls'
 ROOT_URLCONF = 'core.urls'
 
 
 LOGIN_URL = '/accounts/login/'
 LOGIN_URL = '/accounts/login/'