logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 9bc69196d5dfbd3fb37c0e62da19ce08fb9bf28d
parent 0effcd2cfed36baec1d960b64c901da7e56710a8
Author: Mark Felder <feld@feld.me>
Date:   Tue, 20 Apr 2021 11:10:39 -0500

Add utility function to return infinite timeout for SQL transactions if we detect it was called from a Mix Task

Diffstat:

Mlib/pleroma/utils.ex9+++++++++
1 file changed, 9 insertions(+), 0 deletions(-)

diff --git 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