replace cherrypy with daphne

This commit is contained in:
Jens Langhammer 2019-04-11 13:43:49 +02:00
parent 366ef352c6
commit 19cd1624c1
4 changed files with 21 additions and 33 deletions

View File

@ -29,7 +29,7 @@ spec:
image: "docker.pkg.beryju.org/passbook:{{ .Values.image.tag }}"
imagePullPolicy: IfNotPresent
command: ["/bin/sh","-c"]
args: ["./manage.py migrate && daphne -p 8000 passbook.core.asgi:application"]
args: ["./manage.py migrate && ./manage.py web"]
ports:
- name: http
containerPort: 8000

View File

@ -2,11 +2,11 @@
from logging import getLogger
import cherrypy
from django.conf import settings
from daphne.cli import CommandLineInterface
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__)
@ -16,19 +16,15 @@ class Command(BaseCommand):
def handle(self, *args, **options):
"""passbook cherrypy server"""
config = settings.CHERRYPY_SERVER
config.update(**options)
cherrypy.config.update(config)
cherrypy.tree.graft(application, '/')
# Mount NullObject to serve static files
cherrypy.tree.mount(None, '/static', config={
'/': {
'tools.staticdir.on': True,
'tools.staticdir.dir': settings.STATIC_ROOT,
'tools.expires.on': True,
'tools.expires.secs': 86400,
'tools.gzip.on': True,
}
})
cherrypy.engine.start()
cherrypy.engine.block()
autoreload.run_with_reloader(self.daphne_server)
def daphne_server(self):
"""Run daphne server within autoreload"""
autoreload.raise_last_exception()
with CONFIG.cd('web'):
CommandLineInterface().run([
'-p', str(CONFIG.get('port', 8000)),
'-b', CONFIG.get('listen', '0.0.0.0'), # nosec
'--access-log', '/dev/null',
'passbook.core.asgi:application'
])

View File

@ -1,5 +1,4 @@
celery
cherrypy
colorlog
django-ipware
django-model-utils

View File

@ -231,18 +231,6 @@ sentry_init(
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)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
@ -325,6 +313,11 @@ with CONFIG.cd('log'):
'level': 'DEBUG',
'propagate': True,
},
'daphne': {
'handlers': LOG_HANDLERS,
'level': 'DEBUG',
'propagate': True,
}
}
}