Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ dependencies = [
"pyzmq>=27.1.0",
"msgpack>=1.1.2",
"aiolimiter>=1.2.1",
"setproctitle>=1.3.0",
]

[dependency-groups]
Expand Down
3 changes: 2 additions & 1 deletion verifiers/serve/server/env_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import verifiers as vf
from verifiers.serve.server.env_router import EnvRouter
from verifiers.utils.process_utils import monitor_death_pipe
from verifiers.utils.process_utils import monitor_death_pipe, set_proc_title


class EnvServer(ABC):
Expand All @@ -41,6 +41,7 @@ def __init__(
stats_log_interval: float = 10.0,
death_pipe: Connection | None = None,
):
set_proc_title("EnvServer")
self.death_pipe = death_pipe

logger_kwargs: dict[str, Any] = {
Expand Down
3 changes: 2 additions & 1 deletion verifiers/serve/server/env_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
from verifiers.types import ClientConfig
from verifiers.utils.async_utils import EventLoopLagMonitor, EventLoopLagStats
from verifiers.utils.client_utils import resolve_client_config
from verifiers.utils.process_utils import monitor_death_pipe
from verifiers.utils.process_utils import monitor_death_pipe, set_proc_title
from verifiers.utils.serve_utils import msgpack_encoder


Expand Down Expand Up @@ -68,6 +68,7 @@ def __init__(
stats_address: str,
death_pipe: Connection | None = None,
):
set_proc_title(f"EnvWorker{worker_id}")
self.death_pipe = death_pipe
self.env_id = env_id
self.worker_id = worker_id
Expand Down
15 changes: 15 additions & 0 deletions verifiers/utils/process_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,23 @@
from multiprocessing.connection import Connection
from multiprocessing.process import BaseProcess

import setproctitle

logger = logging.getLogger(__name__)

VERIFIERS_PROC_PREFIX = "Verifiers"


def set_proc_title(name: str) -> None:
"""Set the process title for visibility in tools like ``ps`` and ``htop``.

Args:
name: A short, descriptive label (e.g. ``EnvServer``, ``EnvWorker0``).
The process title is set to ``{VERIFIERS_PROC_PREFIX}::{name}``.
"""
title = f"{VERIFIERS_PROC_PREFIX}::{name}"
setproctitle.setproctitle(title)


def monitor_death_pipe(death_pipe: Connection) -> None:
"""Monitor a death pipe and send SIGTERM to this process when it closes.
Expand Down
Loading