skip to content

Server Runtimes & Process Management

The runtimes and supervisors that actually keep a backend process alive — Node, Bun, Deno, .NET — plus the process managers wrapped around them. Interviewers ask because 'it works on my laptop' and 'it survives production' are different problems, and the gap lives here.

on this pageshow

explore

questions

page 2 of 2

In Laravel Octane's config/octane.php, what do the warm and flush arrays do, and when would you add your own binding to either?

level: middleimportance: nice to knowfreq 20%

basics

~20 s

warm lists bindings Octane resolves once at worker boot, shared by later requests; flush lists bindings Octane forgets after every request, so they are rebuilt next time. Warm only stateless services; flush ones holding per-request state.

open as a page

Under Laravel Octane on Swoole, how do you define and use a custom table through the tables config and Octane::table(), and what constraints does it impose?

level: seniorimportance: nice to knowfreq 10%

basics

~10 s

Declare the table in config/octane.php's tables array as 'name:rows' with string:size, int or float columns, then use Octane::table('name')->set($key, [...]) and get($key). It is shared by all workers, fixed-size and lost on restart.

open as a page

In Laravel Octane, what does max_execution_time in config/octane.php do, and how does each server enforce it on a slow request?

level: seniorimportance: nice to knowfreq 20%

basics

~20 s

max_execution_time caps how long Octane lets one request run: 30 seconds by default, 0 for no limit, fixed when the server starts. Swoole kills the stuck worker and answers 408, RoadRunner gets it as exec_ttl, FrankenPHP applies set_time_limit on Linux.

open as a page

Under PHP-FPM, what does fastcgi_finish_request() do, and what are its pitfalls when used for background work?

level: seniorimportance: nice to knowfreq 25%

basics

~20 s

fastcgi_finish_request() sends all buffered output to the client and ends the HTTP response, while the PHP script keeps running. The worker stays busy, locks such as the session remain held, later output is lost, and the function exists only under PHP-FPM.

open as a page

On a shared host running dozens of PHP-FPM pools, how would you set process manager modes and limits so one busy site cannot starve the rest?

level: principalimportance: nice to knowfreq 18%

basics

~20 s

Give each site its own pool with a pm.max_children it may never exceed, use ondemand for mostly idle sites, keep the sum of caps within RAM or overcommit deliberately, and add process.max in php-fpm.conf as a global ceiling.

open as a page

showing 31–35 of 35