Skip to content

Commit 64afbab

Browse files
authored
compile time oban name config for non default named oban instances (#13)
1 parent ba33376 commit 64afbab

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

lib/obanalyze/oban_jobs.ex

+12-8
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ defmodule Obanalyze.ObanJobs do
22
import Ecto.Query,
33
only: [from: 2, group_by: 3, order_by: 2, order_by: 3, select: 3, limit: 2, where: 3]
44

5+
@oban_name Application.compile_env(:obanalyze, :oban_name, Oban)
6+
7+
defp oban_config(), do: Oban.config(@oban_name)
8+
59
def get_oban_job(job_id) do
6-
Oban.Repo.get(Oban.config(), Oban.Job, job_id)
10+
Oban.Repo.get(oban_config(), Oban.Job, job_id)
711
end
812

913
def fetch_oban_job(job_id) do
@@ -15,31 +19,31 @@ defmodule Obanalyze.ObanJobs do
1519

1620
def delete_oban_job(job_id) do
1721
query = from(oj in Oban.Job, where: oj.id in [^job_id])
18-
Oban.Repo.delete_all(Oban.config(), query)
22+
Oban.Repo.delete_all(oban_config(), query)
1923
:ok
2024
end
2125

2226
def retry_oban_job(job_id) do
2327
with {:ok, job} <- fetch_oban_job(job_id),
24-
:ok <- Oban.Engine.retry_job(Oban.config(), job),
28+
:ok <- Oban.Engine.retry_job(oban_config(), job),
2529
{:ok, job} <- fetch_oban_job(job_id) do
2630
{:ok, job}
2731
end
2832
end
2933

3034
def cancel_oban_job(job_id) do
3135
with {:ok, job} <- fetch_oban_job(job_id),
32-
:ok <- Oban.Engine.cancel_job(Oban.config(), job),
36+
:ok <- Oban.Engine.cancel_job(oban_config(), job),
3337
{:ok, job} <- fetch_oban_job(job_id) do
3438
{:ok, job}
3539
end
3640
end
3741

3842
def list_jobs_with_total(params, job_state) do
39-
total_jobs = Oban.Repo.aggregate(Oban.config(), jobs_count_query(job_state), :count)
43+
total_jobs = Oban.Repo.aggregate(oban_config(), jobs_count_query(job_state), :count)
4044

4145
jobs =
42-
Oban.Repo.all(Oban.config(), jobs_query(params, job_state)) |> Enum.map(&Map.from_struct/1)
46+
Oban.Repo.all(oban_config(), jobs_query(params, job_state)) |> Enum.map(&Map.from_struct/1)
4347

4448
{jobs, total_jobs}
4549
end
@@ -69,7 +73,7 @@ defmodule Obanalyze.ObanJobs do
6973
end
7074

7175
defp postgres? do
72-
Oban.config().engine in [Oban.Engines.Basic, Oban.Pro.Engines.Smart]
76+
oban_config().engine in [Oban.Engines.Basic, Oban.Pro.Engines.Smart]
7377
end
7478

7579
defp jobs_count_query(job_state) do
@@ -79,7 +83,7 @@ defmodule Obanalyze.ObanJobs do
7983

8084
def job_states_with_count do
8185
Oban.Repo.all(
82-
Oban.config(),
86+
oban_config(),
8387
Oban.Job
8488
|> group_by([j], [j.state])
8589
|> order_by([j], [j.state])

mix.exs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
defmodule Obanalyze.MixProject do
22
use Mix.Project
33

4-
@version "1.4.1"
4+
@version "1.4.2"
55
@source_url "https://github.com/egze/obanalyze"
66

77
def project do
88
[
99
app: :obanalyze,
1010
version: @version,
11-
elixir: "~> 1.12",
11+
elixir: "~> 1.13",
1212
start_permanent: Mix.env() == :prod,
1313
deps: deps(),
1414
package: package(),

0 commit comments

Comments
 (0)