diff --git a/config/config.exs b/config/config.exs index ace29f42..04d0bea7 100644 --- a/config/config.exs +++ b/config/config.exs @@ -42,6 +42,12 @@ config :philomena, :pow, captcha_verifier: Philomena.Captcha, cache_store_backend: Pow.Store.Backend.MnesiaCache +config :exq, + queues: [{"videos", 2}, {"images", 4}, {"indexing", 16}], + scheduler_enable: true, + max_retries: 1, + start_on_application: false + config :bcrypt_elixir, log_rounds: 12 diff --git a/lib/philomena/exq_supervisor.ex b/lib/philomena/exq_supervisor.ex new file mode 100644 index 00000000..cdbce815 --- /dev/null +++ b/lib/philomena/exq_supervisor.ex @@ -0,0 +1,17 @@ +defmodule Philomena.ExqSupervisor do + use Supervisor + + def start_link(init_arg) do + Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__) + end + + @impl true + def init(_init_arg) do + child_spec = %{ + id: Exq, + start: {Exq, :start_link, []} + } + + Supervisor.init([child_spec], strategy: :one_for_one) + end +end diff --git a/mix.exs b/mix.exs index 8970f4e5..3fe21f81 100644 --- a/mix.exs +++ b/mix.exs @@ -68,6 +68,7 @@ defmodule Philomena.MixProject do {:castore, "~> 0.1"}, {:mint, "~> 1.1"}, {:libcluster, "~> 3.2"}, + {:exq, "~> 0.13"}, {:dialyxir, "~> 1.0", only: :dev, runtime: false} ] end diff --git a/mix.lock b/mix.lock index 137b42c8..06a131e3 100644 --- a/mix.lock +++ b/mix.lock @@ -23,7 +23,9 @@ "elastix": {:hex, :elastix, "0.8.0", "09b7ce7f0541bdd26225e29ade6360e3cf0c0e26088367b97b798e2f40e6c038", [:mix], [{:httpoison, "~> 1.4", [hex: :httpoison, repo: "hexpm", optional: false]}, {:poison, "~> 4.0", [hex: :poison, repo: "hexpm", optional: true]}, {:retry, "~> 0.8", [hex: :retry, repo: "hexpm", optional: false]}], "hexpm", "8e7efc4bf6daf37bc99e2253a7f540c4e40464725a1ed3667a81de6ab5ed58d6"}, "elixir2fa": {:hex, :elixir2fa, "0.1.0", "4585154695ad13a01c17c46e61b0884b0ce1569ebcc667d1d09cd1cbbb4f4ba8", [:mix], [], "hexpm"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, + "elixir_uuid": {:hex, :elixir_uuid, "1.2.1", "dce506597acb7e6b0daeaff52ff6a9043f5919a4c3315abb4143f0b00378c097", [:mix], [], "hexpm", "f7eba2ea6c3555cea09706492716b0d87397b88946e6380898c2889d68585752"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, + "exq": {:hex, :exq, "0.13.5", "f1220d50d135205807a8796bea97da09e11c70c76d1e5e7f40f2f2325df754bf", [:mix], [{:elixir_uuid, ">= 1.2.0", [hex: :elixir_uuid, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:poison, ">= 1.2.0 or ~> 2.0", [hex: :poison, repo: "hexpm", optional: true]}, {:redix, ">= 0.8.1", [hex: :redix, repo: "hexpm", optional: false]}], "hexpm", "375e8c502e03c6a4f0ecf795f077c7c0ce8ee16d7549538e9fecad217afc3d8a"}, "file_system": {:hex, :file_system, "0.2.8", "f632bd287927a1eed2b718f22af727c5aeaccc9a98d8c2bd7bff709e851dc986", [:mix], [], "hexpm", "97a3b6f8d63ef53bd0113070102db2ce05352ecf0d25390eb8d747c2bde98bca"}, "gen_smtp": {:hex, :gen_smtp, "0.15.0", "9f51960c17769b26833b50df0b96123605a8024738b62db747fece14eb2fbfcc", [:rebar3], [], "hexpm", "29bd14a88030980849c7ed2447b8db6d6c9278a28b11a44cafe41b791205440f"}, "gettext": {:hex, :gettext, "0.17.4", "f13088e1ec10ce01665cf25f5ff779e7df3f2dc71b37084976cf89d1aa124d5c", [:mix], [], "hexpm", "3c75b5ea8288e2ee7ea503ff9e30dfe4d07ad3c054576a6e60040e79a801e14d"},