Que v0.4.1 Que.Job

Module to manage a Job’s state and execute the worker’s callbacks.

Defines a Que.Job struct an keeps track of the Job’s worker, arguments, status and more. Meant for internal usage, so you shouldn’t use this unless you absolutely know what you’re doing.

Summary

Types

One of the atoms in [:queued, :started, :failed, :completed]

t()

A Que.Job struct

Functions

Handles Job Failure, Calls appropriate worker method and updates the job status to :failed

Handles Job Success, Calls appropriate worker method and updates the job status to :completed

Returns a new Job struct with defaults

Updates the Job struct with new status and spawns & monitors a new Task under the TaskSupervisor which executes the perform method with supplied arguments

Update the Job status to one of the predefined values in @statuses

Types

status()
status() :: atom

One of the atoms in [:queued, :started, :failed, :completed]

t()
t() :: %Que.Job{arguments: term, created_at: term, id: term, pid: term, ref: term, status: term, updated_at: term, worker: term}

A Que.Job struct

Functions

handle_failure(job, error)
handle_failure(job :: Que.Job.t, error :: term) :: Que.Job.t

Handles Job Failure, Calls appropriate worker method and updates the job status to :failed

handle_success(job)
handle_success(job :: Que.Job.t) :: Que.Job.t

Handles Job Success, Calls appropriate worker method and updates the job status to :completed

new(worker, args \\ nil)
new(worker :: Que.Worker.t, args :: list) :: Que.Job.t

Returns a new Job struct with defaults

perform(job)
perform(job :: Que.Job.t) :: Que.Job.t

Updates the Job struct with new status and spawns & monitors a new Task under the TaskSupervisor which executes the perform method with supplied arguments

set_status(job, status)
set_status(job :: Que.Job.t, status :: status) :: Que.Job.t

Update the Job status to one of the predefined values in @statuses