chore(docker): Add optional coverage to gunicorn

ref: #947 #152
This commit is contained in:
2025-08-12 12:52:44 +09:30
parent 037fbabeae
commit e1f8ba0c2b
2 changed files with 28 additions and 0 deletions

View File

@ -3,6 +3,7 @@
set -e
mkdir -p /etc/supervisor/conf.d;
mkdir -p /var/log/nginx;
if [ "$1" == "" ]; then

View File

@ -1,3 +1,4 @@
import coverage
import logging
import os
@ -9,6 +10,32 @@ from prometheus_client import multiprocess, start_http_server, REGISTRY
if bool(os.environ.get("IS_TESTING")):
def post_fork(server, worker):
worker_cov = coverage.Coverage(data_file=f"artifacts/.coverage.{os.getpid()}")
worker_cov.start()
worker.worker_cov = worker_cov
def worker_exit(server, worker):
if hasattr(worker, "worker_cov"):
worker.worker_cov.stop()
worker.worker_cov.save()
post_fork = post_fork
worker_exit = worker_exit
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'centurion.settings')
access_logfile = '-'