Add utility function to return infinite timeout for SQL transactions if we detect it was called from a Mix Task
This commit is contained in:
parent
0effcd2cfe
commit
9bc69196d5
|
@ -63,4 +63,13 @@ def posix_error_message(code) when code in @posix_error_codes do
|
||||||
end
|
end
|
||||||
|
|
||||||
def posix_error_message(_), do: ""
|
def posix_error_message(_), do: ""
|
||||||
|
|
||||||
|
def query_timeout do
|
||||||
|
{parent, _, _, _} = Process.info(self(), :current_stacktrace) |> elem(1) |> Enum.fetch!(2)
|
||||||
|
|
||||||
|
cond do
|
||||||
|
parent |> to_string |> String.starts_with?("Elixir.Mix.Task") -> [timeout: :infinity]
|
||||||
|
true -> [timeout: 15_000]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue