From: Mark Felder Date: Tue, 20 Apr 2021 16:10:39 +0000 (-0500) Subject: Add utility function to return infinite timeout for SQL transactions if we detect... X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=9bc69196d5dfbd3fb37c0e62da19ce08fb9bf28d;p=akkoma Add utility function to return infinite timeout for SQL transactions if we detect it was called from a Mix Task --- diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex index bc0c95332..5e2fa8bf7 100644 --- a/lib/pleroma/utils.ex +++ b/lib/pleroma/utils.ex @@ -63,4 +63,13 @@ defmodule Pleroma.Utils 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