defmodule Diffuser.Generator.PromptRequestSupervisor do use DynamicSupervisor alias Diffuser.Generator.PromptRequest def start_link(init_arg) do DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end @impl true def init(_init_arg) do DynamicSupervisor.init(strategy: :one_for_one) end def start_prompt_request(%PromptRequest{} = prompt_request) do Task.Supervisor.start_child( __MODULE__, Diffuser.Generator.PromptRequestGenserver, :new, [ %{ prompt_request: prompt_request } ], restart: :transient ) end end