paperless-ngx/gunicorn.conf.py

40 lines
1.1 KiB
Python
Raw Normal View History

2021-02-15 16:27:35 +01:00
import os
2022-05-11 21:00:00 +02:00
bind = f'[::]:{os.getenv("PAPERLESS_PORT", 8000)}'
2021-02-15 16:27:35 +01:00
workers = int(os.getenv("PAPERLESS_WEBSERVER_WORKERS", 2))
2022-02-27 15:37:20 +01:00
worker_class = "paperless.workers.ConfigurableWorker"
2021-02-06 18:51:53 +01:00
timeout = 120
2016-09-20 23:59:57 +05:30
2022-02-27 15:37:20 +01:00
2016-09-20 23:59:57 +05:30
def pre_fork(server, worker):
pass
2022-02-27 15:37:20 +01:00
2016-09-20 23:59:57 +05:30
def pre_exec(server):
server.log.info("Forked child, re-executing.")
2022-02-27 15:37:20 +01:00
2016-09-20 23:59:57 +05:30
def when_ready(server):
server.log.info("Server is ready. Spawning workers")
2022-02-27 15:37:20 +01:00
2016-09-20 23:59:57 +05:30
def worker_int(worker):
worker.log.info("worker received INT or QUIT signal")
## get traceback info
import threading, sys, traceback
2022-02-27 15:37:20 +01:00
id2name = {th.ident: th.name for th in threading.enumerate()}
2016-09-20 23:59:57 +05:30
code = []
for threadId, stack in sys._current_frames().items():
2022-02-27 15:37:20 +01:00
code.append("\n# Thread: %s(%d)" % (id2name.get(threadId, ""), threadId))
2016-09-20 23:59:57 +05:30
for filename, lineno, name, line in traceback.extract_stack(stack):
2022-02-27 15:37:20 +01:00
code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
2016-09-20 23:59:57 +05:30
if line:
code.append(" %s" % (line.strip()))
worker.log.debug("\n".join(code))
2022-02-27 15:37:20 +01:00
2016-09-20 23:59:57 +05:30
def worker_abort(worker):
worker.log.info("worker received SIGABRT signal")