Task.Supervisor.start_child

You're seeing just the function start_child, go back to Task.Supervisor module for more information.
Link to this function

start_child(supervisor, fun, options \\ [])

View Source

Specs

Starts a task as a child of the given supervisor.

Task.Supervisor.start_child(MyTaskSupervisor, fn ->
  IO.puts "I am running in a task"
end)

Note that the spawned process is not linked to the caller, but only to the supervisor. This command is useful in case the task needs to perform side-effects (like I/O) and you have no interest on its results nor if it completes successfully.

Options

  • :restart - the restart strategy, may be :temporary (the default), :transient or :permanent. :temporary means the task is never restarted, :transient means it is restarted if the exit is not :normal, :shutdown or {:shutdown, reason}. A :permanent restart strategy means it is always restarted. It defaults to :temporary.

  • :shutdown - :brutal_kill if the tasks must be killed directly on shutdown or an integer indicating the timeout value, defaults to 5000 milliseconds.

Link to this function

start_child(supervisor, module, fun, args, options \\ [])

View Source

Specs

Starts a task as a child of the given supervisor.

Similar to start_child/2 except the task is specified by the given module, fun and args.