Current section
Files
Jump to
Current section
Files
lib/execution/process/start.ex
defmodule Octopus.Execution.Process.Start do
def call(%{"command" => command, "args" => args}) do
task =
Task.async(fn ->
do_run(command, args)
end)
Process.sleep(3_000)
{:ok, task}
end
defp do_run(command, args) do
case Rambo.run(command, args) do
{:ok, %Rambo{err: err, out: out, status: status}} ->
case status do
0 ->
{:ok, out}
_not_zero ->
{:error, err}
end
{:error, error} ->
{:error, inspect(error)}
end
end
end