ArcanaWeb.TaskSupervisor (Arcana v3.0.0)

Copy Markdown View Source

Task supervisor for the Arcana dashboard's async operations.

Add to your application's supervision tree when using the dashboard:

children = [
  MyApp.Repo,
  Arcana.Embedder.Local,
  ArcanaWeb.TaskSupervisor
]

This enables supervised async operations in the dashboard (evaluation runs, test case generation, maintenance tasks) with:

  • Graceful shutdown during deploys
  • Visibility in Observer/LiveDashboard
  • Proper crash logging with $callers metadata

Only needed for the dashboard; the Arcana library itself doesn't use it.

Summary

Functions

Starts a fire-and-forget task under this supervisor.

Functions

child_spec(opts)

start_child(fun)

Starts a fire-and-forget task under this supervisor.

The task is not linked to the caller, so crashes won't bring down the calling process. Crashes are logged by the supervisor.