View Source Que.Job (Que v0.10.1)

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.

Link to this section 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

Link to this section Types

Specs

status() :: atom()

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

Specs

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

Link to this section Functions

Link to this function

handle_failure(job, error)

View Source

Specs

handle_failure(job :: t(), error :: term()) :: t()

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

Specs

handle_success(job :: t()) :: t()

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

Link to this function

new(worker, args \\ nil)

View Source

Specs

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

Returns a new Job struct with defaults

Specs

perform(job :: t()) :: 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

Specs

set_status(job :: t(), status :: status()) :: t()

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