@app.function and @app.cls Functions run on Nodus workers. .remote() waits for one result, .spawn() returns
a handle, and .map() runs up to 1,000 inputs per request and returns the results in input order.
Workers start when calls arrive and leave after scaledown_window, up to 20 minutes. min_workers keeps workers
warm so a call never waits for a start; max_workers and target_concurrency bound the pool.
A class runs its @nodus.enter() methods once per worker and its @nodus.exit() methods once when the worker
drains.
Callers take turns, so one caller’s large .map() does not hold up another caller’s calls. A call finishes once,
even when its worker is lost and the call runs again elsewhere.
Workers are billed by the second, and idle warm time is itemized on its own usage line. When your balance runs out
the workers drain, new calls queue, and they run once you add credit.
Read the Functions guide for deploying Apps, mapping, scaling and what is billed while
a worker waits.