从 Gunicorn worker 本身获取 worker id
Get worker id from Gunicorn worker itself
我 运行 多个具有 workers=4
设置的 gunicorn 工人。据我所知,我有 5 个不同的进程:一个 gunicorn 主进程和 4 个其他工作进程。我可以获得有关当前正在处理请求的工作人员的信息吗?那么我可以从工作人员内部获取任何工作人员 ID,就像每个请求发送回包含内容的响应一样:此请求由 worker:worker_id 提供?
出于调试目的,您可以使用 post_request 挂钩来记录 worker pid
def post_response(worker, req, environ, resp):
worker.log.debug("%s", worker.pid)
在工人代码中只需使用
import os
print(os.getpid())
对于这种情况,进程 ID 是一个足够好的标识符。另一种明显过大的选择是此时为每个工人创建一个工人 ID 文件 https://docs.gunicorn.org/en/stable/settings.html?highlight=hooks#post-worker-init and read from it when needed. Do not forget to remove this file on exit https://docs.gunicorn.org/en/stable/settings.html?highlight=hooks#worker-exit
我 运行 多个具有 workers=4
设置的 gunicorn 工人。据我所知,我有 5 个不同的进程:一个 gunicorn 主进程和 4 个其他工作进程。我可以获得有关当前正在处理请求的工作人员的信息吗?那么我可以从工作人员内部获取任何工作人员 ID,就像每个请求发送回包含内容的响应一样:此请求由 worker:worker_id 提供?
出于调试目的,您可以使用 post_request 挂钩来记录 worker pid
def post_response(worker, req, environ, resp):
worker.log.debug("%s", worker.pid)
在工人代码中只需使用
import os
print(os.getpid())
对于这种情况,进程 ID 是一个足够好的标识符。另一种明显过大的选择是此时为每个工人创建一个工人 ID 文件 https://docs.gunicorn.org/en/stable/settings.html?highlight=hooks#post-worker-init and read from it when needed. Do not forget to remove this file on exit https://docs.gunicorn.org/en/stable/settings.html?highlight=hooks#worker-exit