mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import os
|
|
|
|
bind = f'[::]:{os.getenv("PAPERLESS_PORT", 8000)}'
|
|
workers = int(os.getenv("PAPERLESS_WEBSERVER_WORKERS", 1))
|
|
worker_class = "paperless.workers.ConfigurableWorker"
|
|
timeout = 120
|
|
|
|
|
|
def pre_fork(server, worker):
|
|
pass
|
|
|
|
|
|
def pre_exec(server):
|
|
server.log.info("Forked child, re-executing.")
|
|
|
|
|
|
def when_ready(server):
|
|
server.log.info("Server is ready. Spawning workers")
|
|
|
|
|
|
def worker_int(worker):
|
|
worker.log.info("worker received INT or QUIT signal")
|
|
|
|
## get traceback info
|
|
import threading, sys, traceback
|
|
|
|
id2name = {th.ident: th.name for th in threading.enumerate()}
|
|
code = []
|
|
for threadId, stack in sys._current_frames().items():
|
|
code.append("\n# Thread: %s(%d)" % (id2name.get(threadId, ""), threadId))
|
|
for filename, lineno, name, line in traceback.extract_stack(stack):
|
|
code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
|
|
if line:
|
|
code.append(" %s" % (line.strip()))
|
|
worker.log.debug("\n".join(code))
|
|
|
|
|
|
def worker_abort(worker):
|
|
worker.log.info("worker received SIGABRT signal")
|