Skip to content

Reference manual

This manual describes Hot Cell one topic per page. For an introduction and a quick start, see the README.

Page Description
Concepts The terms the Hot Cell documentation uses: cell, supervisor, worker, slot, operation, client, tool, payload, inputs and outputs, and codes.
Request lifecycle What happens between a call to perform_in_hotcell and its answer, step by step.
Client API HotCell.register and its options, HotCell::Client, the errors a bad call raises, the boot checks, diagnosis, and the group the application shares with a cell.
Operation API HotCell::Operation's class and instance methods, run_tool, and the Input and Output descriptors that perform receives.
Response codes Every failure code and kill cause, whether each is permanent or transient, the exception classes the client raises, and what Active Storage records.
Container Building the cell's image, every container flag and what it does, bounding OpenMP, and checking an accessory before and after a deploy.
Scratch Where a cell stages files: the tmpfs, named volume, and host-mount layouts, and the boot sweep.
Cell settings HotCell.limits: the scheduling settings and request limits with their defaults, the environment variables, the load order, and development mode.
Tuning Which measurement sets each cell number, the constraints between the numbers, and how to use bin/load.
Observability Recommended alerts, the perform.hot_cell notification, the application log line, Yabeda metrics, cell metrics, the cell log schema, and the healthchecks.
Conformance What bin/conformance checks about a cell image, and what it cannot check.
Active Storage operations The Active Storage client classes, the cell operations that serve them, how their failures are retried, and the limits each declares.
ImageMagick ImageMagick's MAGICK_* resource limits, how they interact with a cell, and the formulas to set them.