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
1 changed files with 9 additions and 0 deletions
|
@ -63,4 +63,13 @@ def posix_error_message(code) when code in @posix_error_codes do
|
|||
end
|
||||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue