You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Handle many concurrent nsgi_handle calls efficiently by multiplexing them onto Fibers inside the single Ruby VM.
Tasks
Fiber-per-request dispatch: each dequeued job runs in its own Fiber under a Fiber::Scheduler, so I/O waits in app code yield instead of blocking the VM thread
Minimal built-in Fiber::Scheduler (io_wait, kernel_sleep, block/unblock) driving the reactor loop, including the job-queue wake pipe
Pluggable scheduler: allow swapping in async/io-event instead of the built-in one (loose coupling — the app contract must not depend on which scheduler runs)
Backpressure: bound in-flight jobs so a slow app degrades gracefully instead of piling up blocked host threads
Goal
Handle many concurrent
nsgi_handlecalls efficiently by multiplexing them onto Fibers inside the single Ruby VM.Tasks
Fiber::Scheduler, so I/O waits in app code yield instead of blocking the VM threadFiber::Scheduler(io_wait,kernel_sleep,block/unblock) driving the reactor loop, including the job-queue wake pipeasync/io-eventinstead of the built-in one (loose coupling — the app contract must not depend on which scheduler runs)