calm-oyster-84545
05/25/2026, 11:37 AMtall-airline-16756
05/25/2026, 11:37 AMtall-airline-16756
05/25/2026, 11:37 AMcalm-oyster-84545
05/25/2026, 11:40 AMworker_options: dict[str, Any] = {
"entrypoint_fnc": entrypoint,
"prewarm_fnc": prewarm,
"load_fnc": compute_worker_load,
"num_idle_processes": 2, # keep two warmed processes ready
"agent_name": DEFAULT_AGENT_NAME,
"shutdown_process_timeout": 60,
}
if os.getenv("WORKER_LOAD_THRESHOLD"):
worker_options["load_threshold"] = _worker_load_threshold()
options = WorkerOptions(**worker_options)
agents.cli.run_app(options)
Does agentserver replace worker options?tall-airline-16756
05/25/2026, 11:40 AMentrypoint_fnc → use @server.rtc_session(agent_name=...) on your entrypoint
• prewarm_fnc → assign to server.setup_fnc
• load_fnc and load_threshold → pass to AgentServer(load_fnc=..., load_threshold=...)
• num_idle_processes → handled by the server’s process management/prewarm behavior
• agent_name → set on the @server.rtc_session(...) decorator
• shutdown_process_timeout → use drain_timeout on AgentServer
Example migration:
server = AgentServer(
load_fnc=compute_worker_load,
load_threshold=_worker_load_threshold(),
drain_timeout=60,
)
server.setup_fnc = prewarm
@server.rtc_session(agent_name=DEFAULT_AGENT_NAME)
async def entrypoint(ctx: JobContext):
...
If you want, tell me which specific WorkerOptions you use and I’ll give the exact AgentServer equivalent for each.
Sources: Server options | LiveKit Documentation, with interactive elements