diff options
author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-08-31 19:08:56 +0300 |
---|---|---|
committer | Ivan Tashkinov <ivantashkinov@gmail.com> | 2019-08-31 19:08:56 +0300 |
commit | a90ea8ba1562818b025f677ffeea35f7ca08ddf2 (patch) | |
tree | a8fad044808f890bc2953fba9d3b137d211eca8d /lib/pleroma/workers/worker_helper.ex | |
parent | e890ea7e821d61fca75084d46f70ed125acf1fc8 (diff) | |
download | pleroma-a90ea8ba1562818b025f677ffeea35f7ca08ddf2.tar.gz |
[#1149] Addressed code review comments (code style, jobs pruning etc.).
Diffstat (limited to 'lib/pleroma/workers/worker_helper.ex')
-rw-r--r-- | lib/pleroma/workers/worker_helper.ex | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/pleroma/workers/worker_helper.ex b/lib/pleroma/workers/worker_helper.ex new file mode 100644 index 000000000..f9ed2e64d --- /dev/null +++ b/lib/pleroma/workers/worker_helper.ex @@ -0,0 +1,23 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.WorkerHelper do + alias Pleroma.Config + + def worker_args(queue) do + case Config.get([:workers, :retries, queue]) do + nil -> [] + max_attempts -> [max_attempts: max_attempts] + end + end + + def sidekiq_backoff(attempt, pow \\ 4, base_backoff \\ 15) do + backoff = + :math.pow(attempt, pow) + + base_backoff + + :rand.uniform(2 * base_backoff) * attempt + + trunc(backoff) + end +end |