Portable process naming module

This commit is contained in:
Leo Vasanko 2023-11-21 15:20:49 +00:00
parent f0701b32f6
commit a65c03757d
2 changed files with 4 additions and 14 deletions

View File

@ -10,7 +10,7 @@ from urllib.parse import unquote
from wsgiref.handlers import format_date_time from wsgiref.handlers import format_date_time
import multiprocessing import multiprocessing
import sys import sys
from secproctitle import setproctitle
import brotli import brotli
import sanic.helpers import sanic.helpers
from blake3 import blake3 from blake3 import blake3
@ -33,24 +33,13 @@ app.blueprint(bp)
app.exception(Exception)(handle_sanic_exception) app.exception(Exception)(handle_sanic_exception)
def procname(name): setproctitle("cista-main")
if sys.platform == "linux":
from ctypes import cdll, byref, create_string_buffer
newname = name.encode()
libc = cdll.LoadLibrary("libc.so.6")
buff = create_string_buffer(len(newname) + 1)
buff.value = newname
libc.prctl(15, byref(buff), 0, 0, 0)
procname("cista-main")
@app.before_server_start @app.before_server_start
async def main_start(app, loop): async def main_start(app, loop):
config.load_config() config.load_config()
procname(f"cista {config.config.path.name}") setproctitle(f"cista {config.config.path.name}")
N = max(2, min(8, cpu_count())) N = max(2, min(8, cpu_count()))
app.ctx.threadexec = ThreadPoolExecutor( app.ctx.threadexec = ThreadPoolExecutor(
max_workers=N, thread_name_prefix="cista-ioworker" max_workers=N, thread_name_prefix="cista-ioworker"

View File

@ -27,6 +27,7 @@ dependencies = [
"pyjwt", "pyjwt",
"pymupdf", "pymupdf",
"sanic", "sanic",
"setproctitle",
"stream-zip", "stream-zip",
"tomli_w", "tomli_w",
] ]