Packages
exq
0.1.0
0.24.0
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/job.ex
defmodule Exq.Json do
def decode(json) do
Poison.decode!(json)
end
def encode(e) do
Poison.encode!(e)
end
end
defmodule Exq.Job do
defstruct error_message: nil, error_class: nil, failed_at: nil, retry: false,
retry_count: 0, processor: nil, queue: nil, class: nil, args: nil,
jid: nil, finished_at: nil, enqueued_at: nil
def from_json(json_str) do
json = Exq.Json.decode(json_str)
job = %Exq.Job{
args: Dict.get(json, "args"),
class: Dict.get(json, "class"),
enqueued_at: Dict.get(json, "enqueued_at"),
error_message: Dict.get(json, "error_message"),
error_class: Dict.get(json, "error_class"),
failed_at: Dict.get(json, "failed_at"),
finished_at: Dict.get(json, "finished_at"),
jid: Dict.get(json, "jid"),
processor: Dict.get(json, "processor"),
queue: Dict.get(json, "queue"),
retry: Dict.get(json, "retry"),
retry_count: Dict.get(json, "retry_count")}
end
def to_json(job) do
e = Enum.into([
args: job.args,
class: job.class,
enqueued_at: job.enqueued_at,
error_message: job.error_message,
error_class: job.error_class,
failed_at: job.failed_at,
finished_at: job.finished_at,
jid: job.jid,
processor: job.processor,
queue: job.queue,
retry: job.retry,
retry_count: job.retry_count], HashDict.new)
Exq.Json.encode(job)
end
end