Packages
verk
0.11.0
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/log.ex
defmodule Verk.Log do
@moduledoc """
Helper module to log when a job starts, fails or finishes.
"""
require Logger
import Logger
alias Verk.Job
alias Timex.DateTime
def start(%Job{jid: job_id, class: module}, process_id) do
info("#{module} #{job_id} start", process_id: inspect(process_id))
end
def done(%Job{jid: job_id, class: module}, start_time, process_id) do
info("#{module} #{job_id} done: #{elapsed_time(start_time)}", process_id: inspect(process_id))
end
def fail(%Job{jid: job_id, class: module}, start_time, process_id) do
info("#{module} #{job_id} fail: #{elapsed_time(start_time)}", process_id: inspect(process_id))
end
defp elapsed_time(start_time) do
now = DateTime.now
seconds_diff = start_time |> Timex.diff(now, :seconds)
if seconds_diff == 0 do
milliseconds_diff = now.millisecond - start_time.millisecond
"#{milliseconds_diff} ms"
else
"#{seconds_diff} s"
end
end
end