replace cherrypy with daphne
This commit is contained in:
parent
366ef352c6
commit
19cd1624c1
|
@ -29,7 +29,7 @@ spec:
|
||||||
image: "docker.pkg.beryju.org/passbook:{{ .Values.image.tag }}"
|
image: "docker.pkg.beryju.org/passbook:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command: ["/bin/sh","-c"]
|
command: ["/bin/sh","-c"]
|
||||||
args: ["./manage.py migrate && daphne -p 8000 passbook.core.asgi:application"]
|
args: ["./manage.py migrate && ./manage.py web"]
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: http
|
||||||
containerPort: 8000
|
containerPort: 8000
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
|
|
||||||
import cherrypy
|
from daphne.cli import CommandLineInterface
|
||||||
from django.conf import settings
|
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
|
from django.utils import autoreload
|
||||||
|
|
||||||
from passbook.core.wsgi import application
|
from passbook.lib.config import CONFIG
|
||||||
|
|
||||||
LOGGER = getLogger(__name__)
|
LOGGER = getLogger(__name__)
|
||||||
|
|
||||||
|
@ -16,19 +16,15 @@ class Command(BaseCommand):
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
def handle(self, *args, **options):
|
||||||
"""passbook cherrypy server"""
|
"""passbook cherrypy server"""
|
||||||
config = settings.CHERRYPY_SERVER
|
autoreload.run_with_reloader(self.daphne_server)
|
||||||
config.update(**options)
|
|
||||||
cherrypy.config.update(config)
|
def daphne_server(self):
|
||||||
cherrypy.tree.graft(application, '/')
|
"""Run daphne server within autoreload"""
|
||||||
# Mount NullObject to serve static files
|
autoreload.raise_last_exception()
|
||||||
cherrypy.tree.mount(None, '/static', config={
|
with CONFIG.cd('web'):
|
||||||
'/': {
|
CommandLineInterface().run([
|
||||||
'tools.staticdir.on': True,
|
'-p', str(CONFIG.get('port', 8000)),
|
||||||
'tools.staticdir.dir': settings.STATIC_ROOT,
|
'-b', CONFIG.get('listen', '0.0.0.0'), # nosec
|
||||||
'tools.expires.on': True,
|
'--access-log', '/dev/null',
|
||||||
'tools.expires.secs': 86400,
|
'passbook.core.asgi:application'
|
||||||
'tools.gzip.on': True,
|
])
|
||||||
}
|
|
||||||
})
|
|
||||||
cherrypy.engine.start()
|
|
||||||
cherrypy.engine.block()
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
celery
|
celery
|
||||||
cherrypy
|
|
||||||
colorlog
|
colorlog
|
||||||
django-ipware
|
django-ipware
|
||||||
django-model-utils
|
django-model-utils
|
||||||
|
|
|
@ -231,18 +231,6 @@ sentry_init(
|
||||||
send_default_pii=True
|
send_default_pii=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# CherryPY settings
|
|
||||||
with CONFIG.cd('web'):
|
|
||||||
CHERRYPY_SERVER = {
|
|
||||||
'server.socket_host': CONFIG.get('listen', '0.0.0.0'), # nosec
|
|
||||||
'server.socket_port': CONFIG.get('port', 8000),
|
|
||||||
'server.thread_pool': CONFIG.get('threads', 30),
|
|
||||||
'log.screen': False,
|
|
||||||
'log.access_file': '',
|
|
||||||
'log.error_file': '',
|
|
||||||
}
|
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
# Static files (CSS, JavaScript, Images)
|
||||||
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
||||||
|
|
||||||
|
@ -325,6 +313,11 @@ with CONFIG.cd('log'):
|
||||||
'level': 'DEBUG',
|
'level': 'DEBUG',
|
||||||
'propagate': True,
|
'propagate': True,
|
||||||
},
|
},
|
||||||
|
'daphne': {
|
||||||
|
'handlers': LOG_HANDLERS,
|
||||||
|
'level': 'DEBUG',
|
||||||
|
'propagate': True,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue