Packages
exq
0.6.3
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.2
Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.
Current section
Files
Jump to
Current section
Files
lib/exq/middleware/logger.ex
defmodule Exq.Middleware.Logger do
@behaviour Exq.Middleware.Behaviour
alias Exq.Middleware.Pipeline
import Pipeline
use Timex
require Logger
def before_work(pipeline) do
Logger.info("#{log_context(pipeline)} start")
assign(pipeline, :started_at, Time.now)
end
def after_processed_work(pipeline) do
Logger.info("#{log_context(pipeline)} done: #{delta(pipeline)} sec")
pipeline
end
def after_failed_work(pipeline) do
Logger.info(to_string(pipeline.assigns.error_message))
Logger.info("#{log_context(pipeline)} fail: #{delta(pipeline)} sec")
pipeline
end
defp delta(%Pipeline{assigns: assigns} = pipeline) do
Time.diff(Time.now, assigns.started_at, :secs)
end
defp log_context(%Pipeline{assigns: assigns} = pipeline) do
"#{assigns.worker_module}[#{assigns.job.jid}]"
end
end