Packages
honeydew
1.4.0
1.5.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc4
1.0.0-rc3
1.0.0-rc2
1.0.0-rc1
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Pluggable local/clusterable job queue focused on safety.
Current section
Files
Jump to
Current section
Files
lib/honeydew/job.ex
defmodule Honeydew.Job do
@moduledoc """
A Honeydew job.
"""
@type private :: term()
defstruct [:private, # queue's private state
:failure_private, # failure mode's private state
:task,
:from, # if the requester wants the result, here's where to send it
:result,
:by, # node last processed the job
:queue,
:job_monitor,
:enqueued_at,
:started_at,
:completed_at,
{:delay_secs, 0}]
@type t :: %__MODULE__{
task: Honeydew.task | nil,
queue: Honeydew.queue_name,
private: private,
delay_secs: integer()
}
@doc false
def new(task, queue) do
%__MODULE__{task: task, queue: queue, enqueued_at: System.system_time(:millisecond)}
end
end