Skip to content

Commit

Permalink
Update deps
Browse files Browse the repository at this point in the history
  • Loading branch information
edgurgel committed Jul 9, 2017
1 parent ba7ce38 commit 9b80a3a
Show file tree
Hide file tree
Showing 9 changed files with 45 additions and 51 deletions.
2 changes: 2 additions & 0 deletions config/.credo.exs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
# {Credo.Check.Consistency.ExceptionNames, false}
#
checks: [
{Credo.Check.Readability.ParenthesesOnZeroArityDefs, false},
{Credo.Check.Warning.LazyLogging, false},
{Credo.Check.Consistency.ExceptionNames},
{Credo.Check.Consistency.LineEndings},
{Credo.Check.Consistency.SpaceAroundOperators},
Expand Down
4 changes: 2 additions & 2 deletions lib/verk.ex
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ defmodule Verk do
end
def enqueue(job = %Job{max_retry_count: count}, _redis) when not is_integer(count), do: {:error, {:invalid_max_retry_count, job}}
def enqueue(job = %Job{jid: nil}, redis), do: enqueue(%Job{job | jid: generate_jid()}, redis)
def enqueue(%Job{jid: jid, queue: queue} = job, redis) do
def enqueue(job = %Job{jid: jid, queue: queue}, redis) do
job = %Job{job | enqueued_at: Time.now |> DateTime.to_unix}
case Redix.command(redis, ["LPUSH", "queue:#{queue}", Poison.encode!(job)]) do
{:ok, _} -> {:ok, jid}
Expand All @@ -77,7 +77,7 @@ defmodule Verk do
def schedule(job = %Job{jid: nil}, perform_at = %DateTime{}, redis) do
schedule(%Job{job | jid: generate_jid()}, perform_at, redis)
end
def schedule(%Job{jid: jid} = job, %DateTime{} = perform_at, redis) do
def schedule(job = %Job{jid: jid}, perform_at = %DateTime{}, redis) do
if Time.after?(Time.now, perform_at) do
#past time to do the job
enqueue(job, redis)
Expand Down
16 changes: 6 additions & 10 deletions lib/verk/queue_manager.ex
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,19 @@ defmodule Verk.QueueManager do
Pop a job from the assigned queue and reply with it if not empty
"""
def dequeue(queue_manager, n, timeout \\ 5000) do
try do
GenServer.call(queue_manager, {:dequeue, n}, timeout)
catch
:exit, {:timeout, _} -> :timeout
end
GenServer.call(queue_manager, {:dequeue, n}, timeout)
catch
:exit, {:timeout, _} -> :timeout
end

@doc """
Add job to be retried in the assigned queue
"""
def retry(queue_manager, job, exception, stacktrace, timeout \\ 5000) do
now = Time.now |> DateTime.to_unix
try do
GenServer.call(queue_manager, {:retry, job, now, exception, stacktrace}, timeout)
catch
:exit, {:timeout, _} -> :timeout
end
GenServer.call(queue_manager, {:retry, job, now, exception, stacktrace}, timeout)
catch
:exit, {:timeout, _} -> :timeout
end

@doc """
Expand Down
1 change: 0 additions & 1 deletion lib/verk/sorted_set.ex
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ defmodule Verk.SortedSet do
Redix.command(redis, ["ZCARD", key])
end


@doc """
Counts how many jobs are inside the sorted set, raising if there's an error
"""
Expand Down
2 changes: 1 addition & 1 deletion lib/verk/time.ex
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ defmodule Verk.Time do
A positive result indicates that `datetime2` occurred after `datetime1`.
"""
@spec diff(DAteTime.t, DateTime.t, System.time_unit) :: integer
def diff(%DateTime{} = datetime1, %DateTime{} = datetime2, units \\ :seconds) do
def diff(datetime1 = %DateTime{}, datetime2 = %DateTime{}, units \\ :seconds) do
unix_dt1 = DateTime.to_unix(datetime1, units)
unix_dt2 = DateTime.to_unix(datetime2, units)
unix_dt2 - unix_dt1
Expand Down
16 changes: 7 additions & 9 deletions lib/verk/worker.ex
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,12 @@ defmodule Verk.Worker do

@doc false
def handle_cast({:perform, job, manager}, state) do
try do
:erlang.put(@process_dict_key, job)
[job.class] |> Module.safe_concat |> apply(:perform, job.args)
GenServer.cast(manager, {:done, self(), job.jid})
{:stop, :normal, state}
rescue
exception -> GenServer.cast(manager, {:failed, self(), job.jid, exception, System.stacktrace})
{:stop, :failed, state}
end
:erlang.put(@process_dict_key, job)
[job.class] |> Module.safe_concat |> apply(:perform, job.args)
GenServer.cast(manager, {:done, self(), job.jid})
{:stop, :normal, state}
rescue
exception -> GenServer.cast(manager, {:failed, self(), job.jid, exception, System.stacktrace})
{:stop, :failed, state}
end
end
12 changes: 6 additions & 6 deletions mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ defmodule Verk.Mixfile do

def project do
[app: :verk,
version: "0.14.1",
version: "1.0.0",
elixir: "~> 1.3",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
Expand All @@ -24,15 +24,15 @@ defmodule Verk.Mixfile do
end

defp deps do
[{ :redix, "~> 0.4" },
[{ :redix, "~> 0.6" },
{ :poison, "~> 2.0"},
{ :poolboy, "~> 1.5.1" },
{ :confex, "~> 3.2.0" },
{ :gen_stage, "== 0.11.0" },
{ :credo, "~> 0.4", only: [:dev, :test] },
{ :gen_stage, "== 0.12.0" },
{ :credo, "~> 0.8", only: [:dev, :test] },
{ :earmark, "~> 1.0", only: :dev },
{ :ex_doc, "~> 0.13", only: :dev },
{ :coverex, "~> 1.4", only: :test },
{ :ex_doc, "~> 0.16", only: :dev },
{ :coverex, "== 1.4.13", only: :test },
{ :meck, "~> 0.8", only: :test }]
end

Expand Down
39 changes: 20 additions & 19 deletions mix.lock
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
%{"bunt": {:hex, :bunt, "0.1.6", "5d95a6882f73f3b9969fdfd1953798046664e6f77ec4e486e6fafc7caad97c6f", [:mix], []},
"certifi": {:hex, :certifi, "0.4.0", "a7966efb868b179023618d29a407548f70c52466bf1849b9e8ebd0e34b7ea11f", [:rebar3], []},
%{"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm"},
"certifi": {:hex, :certifi, "1.2.1", "c3904f192bd5284e5b13f20db3ceac9626e14eeacfbb492e19583cf0e37b22be", [:rebar3], [], "hexpm"},
"combine": {:hex, :combine, "0.9.2", "cd3c8721f378ebe032487d8a4fa2ced3181a456a3c21b16464da8c46904bb552", [:mix], []},
"confex": {:hex, :confex, "3.2.0", "4fdc818b14b1439b3e88b4f7bee50dea1eda4117871da236473e42bd4f36730d", [:mix], []},
"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [:mix], []},
"coverex": {:hex, :coverex, "1.4.10", "f6b68f95b3d51d04571a09dd2071c980e8398a38cf663db22b903ecad1083d51", [:mix], [{:httpoison, "~> 0.9", [hex: :httpoison, optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: false]}]},
"credo": {:hex, :credo, "0.4.11", "03a64e9d53309b7132556284dda0be57ba1013885725124cfea7748d740c6170", [:mix], [{:bunt, "~> 0.1.6", [hex: :bunt, optional: false]}]},
"earmark": {:hex, :earmark, "1.0.1", "2c2cd903bfdc3de3f189bd9a8d4569a075b88a8981ded9a0d95672f6e2b63141", [:mix], []},
"ex_doc": {:hex, :ex_doc, "0.13.2", "1059a588d2ad3ffab25a0b85c58abf08e437d3e7a9124ac255e1d15cec68ab79", [:mix], [{:earmark, "~> 1.0", [hex: :earmark, optional: false]}]},
"gen_stage": {:hex, :gen_stage, "0.11.0", "943bdfa85c75fa624e0a36a9d135baad20a523be040178f5a215444b45c66ea4", [:mix], []},
"confex": {:hex, :confex, "3.2.2", "4fc6161d1bbbe3f24581758059dce285fa9d2719fe41a15b396c4f32250ef7c1", [:mix], [], "hexpm"},
"connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [], [], "hexpm"},
"coverex": {:hex, :coverex, "1.4.13", "d90833b82bdd6a1ec05a6d971283debc3dd9611957489010e4b1ab0071a9ee6c", [:mix], [{:hackney, "~> 1.5", [hex: :hackney, repo: "hexpm", optional: false]}, {:poison, "~> 1.5 or ~> 2.0 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"},
"credo": {:hex, :credo, "0.8.2", "aa410c8f27c5fab00cab24f8477782bde9100b73d31debdce46625f097cc0e32", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}], "hexpm"},
"earmark": {:hex, :earmark, "1.2.2", "f718159d6b65068e8daeef709ccddae5f7fdc770707d82e7d126f584cd925b74", [:mix], [], "hexpm"},
"ex_doc": {:hex, :ex_doc, "0.16.2", "3b3e210ebcd85a7c76b4e73f85c5640c011d2a0b2f06dcdf5acdb2ae904e5084", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm"},
"gen_stage": {:hex, :gen_stage, "0.12.0", "74ec6f84ea0e0e81aa26b745870495094de1c59bfdbd012ae3103208ea124623", [:mix], [], "hexpm"},
"gettext": {:hex, :gettext, "0.11.0", "80c1dd42d270482418fa158ec5ba073d2980e3718bacad86f3d4ad71d5667679", [:mix], []},
"hackney": {:hex, :hackney, "1.6.1", "ddd22d42db2b50e6a155439c8811b8f6df61a4395de10509714ad2751c6da817", [:rebar3], [{:certifi, "0.4.0", [hex: :certifi, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.0", [hex: :ssl_verify_fun, optional: false]}]},
"httpoison": {:hex, :httpoison, "0.9.1", "6c2b4eaf2588a6f3ef29663d28c992531ca3f0bc832a97e0359bc822978e1c5d", [:mix], [{:hackney, "~> 1.6.0", [hex: :hackney, optional: false]}]},
"idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []},
"meck": {:hex, :meck, "0.8.7", "ebad16ca23f685b07aed3bc011efff65fbaf28881a8adf925428ef5472d390ee", [:rebar3], []},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], []},
"poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], []},
"poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [:rebar], []},
"redix": {:hex, :redix, "0.4.0", "c8cfad755252e5441c4119437ba3a8989518af7aa90dbd6f4ff7207b72e4a967", [:mix], [{:connection, "~> 1.0.0", [hex: :connection, optional: false]}]},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.0", "edee20847c42e379bf91261db474ffbe373f8acb56e9079acb6038d4e0bf414f", [:make, :rebar], []},
"hackney": {:hex, :hackney, "1.8.6", "21a725db3569b3fb11a6af17d5c5f654052ce9624219f1317e8639183de4a423", [:rebar3], [{:certifi, "1.2.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.0.2", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"},
"httpoison": {:hex, :httpoison, "0.9.1", "6c2b4eaf2588a6f3ef29663d28c992531ca3f0bc832a97e0359bc822978e1c5d", [], [{:hackney, "~> 1.6.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
"idna": {:hex, :idna, "5.0.2", "ac203208ada855d95dc591a764b6e87259cb0e2a364218f215ad662daa8cd6b4", [:rebar3], [{:unicode_util_compat, "0.2.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"},
"meck": {:hex, :meck, "0.8.7", "ebad16ca23f685b07aed3bc011efff65fbaf28881a8adf925428ef5472d390ee", [:rebar3], [], "hexpm"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [], [], "hexpm"},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [], [], "hexpm"},
"poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [], [], "hexpm"},
"poolboy": {:hex, :poolboy, "1.5.1", "6b46163901cfd0a1b43d692657ed9d7e599853b3b21b95ae5ae0a777cf9b6ca8", [], [], "hexpm"},
"redix": {:hex, :redix, "0.6.1", "20986b0e02f02b13e6f53c79a1ae70aa83147488c408f40275ec261f5bb0a6d0", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], [], "hexpm"},
"ssl_verify_hostname": {:hex, :ssl_verify_hostname, "1.0.5", "2e73e068cd6393526f9fa6d399353d7c9477d6886ba005f323b592d389fb47be", [:make], []},
"unicode_util_compat": {:hex, :unicode_util_compat, "0.2.0", "dbbccf6781821b1c0701845eaf966c9b6d83d7c3bfc65ca2b78b88b8678bfa35", [:rebar3], [], "hexpm"},
"watcher": {:hex, :watcher, "1.0.0", "0d9a43d0f1f3997b75775fc873dfb29437b8e3c5fb6bdcb8feaa5eedc7ee9cf6", [:mix], []}}
4 changes: 1 addition & 3 deletions test/redis_scripts_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ defmodule RedisScriptsTest do
@requeue_job_now_script File.read!("#{:code.priv_dir(:verk)}/requeue_job_now.lua")

setup do
{ :ok, redis } = Confex.get_env(:verk, :redis_url)
|> Redix.start_link([name: Verk.Redis])
on_exit fn -> Redix.stop(redis) end
{ :ok, redis } = Confex.get_env(:verk, :redis_url) |> Redix.start_link
{ :ok, %{ redis: redis } }
end

Expand Down

0 comments on commit 9b80a3a

Please sign in to comment.