28 lines
626 B
Elixir
28 lines
626 B
Elixir
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
|