ImagePipe.Transform.Detector.Warmup (image_pipe v0.1.0)

Copy Markdown View Source

One-shot worker that pre-loads a detector's models at boot.

An ImagePipe instance starts it with the instance's detector and the classes from its :detector_warmup option. A configuration used without an instance, such as a mount configured in the router, needs the worker in the host's supervision tree:

{ImagePipe.Transform.Detector.Warmup, detector: :default}

:detector accepts :default (the bundled adapter, used when omitted), nil (no work), or a custom detector module, matching the plug option.

Failed warmup results are logged and retried with bounded exponential backoff. The worker then exits normally, so restart: :transient does not restart it. Unavailable detectors are skipped. It does not trap exits; shutdown during a download needs no cleanup.

Model loading runs in handle_continue/2, allowing start_link/1 to return without waiting for the download.

Summary

Functions

Returns a specification to start this module under a supervisor.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

@spec start_link(keyword()) :: GenServer.on_start()