Packages
verk
1.2.1
1.7.3
1.7.2
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
0.14.1
0.14.0
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
Verk is a job processing system backed by Redis.
Current section
Files
Jump to
Current section
Files
lib/verk/stats.ex
defmodule Verk.Stats do
@moduledoc """
Basic stats for Verk
"""
@doc """
Total amount of processed and failed jobs
"""
@spec total(GenServer.server) :: Map.t
def total(redis \\ Verk.Redis) do
[processed, failed] = Redix.command!(redis, ~w(MGET stat:processed stat:failed))
%{processed: to_int(processed), failed: to_int(failed)}
end
@doc """
Total amount of processed and failed jobs for a single queue
"""
@spec queue_total(String.t, GenServer.server) :: Map.t
def queue_total(queue, redis \\ Verk.Redis) do
[processed, failed] = Redix.command!(redis, ~w(MGET stat:processed:#{queue} stat:failed:#{queue}))
%{total_processed: to_int(processed), total_failed: to_int(failed)}
end
defp to_int(nil), do: 0
defp to_int(string), do: String.to_integer(string)
end