From acac893495bfccd19a5ac880c91834aaf491c889 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Mon, 28 Sep 2015 15:45:01 -0400 Subject: [PATCH] Crypto's Random needs to be reset after forks, otherwise it exceptions --- conf/gunicorn_local.py | 7 +++++++ conf/gunicorn_registry.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/conf/gunicorn_local.py b/conf/gunicorn_local.py index 49a30682d..f95d85cc1 100644 --- a/conf/gunicorn_local.py +++ b/conf/gunicorn_local.py @@ -1,3 +1,5 @@ +from Crypto import Random + bind = '0.0.0.0:5000' workers = 2 worker_class = 'gevent' @@ -5,3 +7,8 @@ daemon = False logconfig = 'conf/logging_debug.conf' pythonpath = '.' preload_app = True + +def post_fork(server, worker): + # Reset the Random library to ensure it won't raise the "PID check failed." error after + # gunicorn forks. + Random.atfork() diff --git a/conf/gunicorn_registry.py b/conf/gunicorn_registry.py index 944608868..9d7f080c1 100644 --- a/conf/gunicorn_registry.py +++ b/conf/gunicorn_registry.py @@ -1,6 +1,13 @@ +from Crypto import Random + bind = 'unix:/tmp/gunicorn_registry.sock' workers = 8 worker_class = 'gevent' logconfig = 'conf/logging.conf' pythonpath = '.' preload_app = True + +def post_fork(server, worker): + # Reset the Random library to ensure it won't raise the "PID check failed." error after + # gunicorn forks. + Random.atfork()