exq v0.13.2 Exq
Link to this section Summary
Functions
Enqueue a job immediately
Schedule a job to be enqueued at a specific time in the future
Schedule a job to be enqueued at in the future given by offset in milliseconds
Called when an application is started
Subscribe to a queue - ie. listen to queue for jobs
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queueconcurrency
- Optional argument specifying max concurrency for queue
List all subscriptions(active queues)
pid
- PID for Exq Manager or Enqueuer to handle this
Unsubscribe from a queue - ie. stop listening to queue for jobs
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queue
Unsubscribe from all queues - ie. stop listening for jobs
pid
- PID for Exq Manager or Enqueuer to handle this
Get the job metadata
name
- registered name of Exq. Only necessary if the custom name option is used when starting Exq. Defaults to Exqpid
- pid of the worker. Defaults to self()
Link to this section Functions
enqueue(pid, queue, worker, args)
Enqueue a job immediately.
Expected args:
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queue to useworker
- Worker module to targetargs
- Array of args to send to workeroptions
- job options, for example [max_retries:Integer
]
Returns:
{:ok, jid}
if the job was enqueued successfully, withjid
= Job ID.{:error, reason}
if there was an error enqueueing job
enqueue(pid, from, queue, worker, args)
enqueue(pid, from, queue, worker, args, options)
enqueue_at(pid, queue, time, worker, args)
Schedule a job to be enqueued at a specific time in the future.
Expected args:
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- name of queue to usetime
- Time to enqueueworker
- Worker module to targetargs
- Array of args to send to workeroptions
- job options, for example [max_retries:Integer
]
enqueue_at(pid, from, queue, time, worker, args)
enqueue_at(pid, from, queue, time, worker, args, options)
enqueue_in(pid, queue, offset, worker, args)
Schedule a job to be enqueued at in the future given by offset in milliseconds.
Expected args:
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queue to useoffset
- Offset in seconds in the future to enqueueworker
- Worker module to targetargs
- Array of args to send to workeroptions
- job options, for example [max_retries:Integer
]
enqueue_in(pid, from, queue, offset, worker, args)
enqueue_in(pid, from, queue, offset, worker, args, options)
start(type, args)
Called when an application is started.
This function is called when an application is started using
Application.start/2
(and functions on top of that, such as
Application.ensure_started/2
). This function should start the top-level
process of the application (which should be the top supervisor of the
application's supervision tree if the application follows the OTP design
principles around supervision).
start_type
defines how the application is started:
:normal
- used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another node and the application specification key:start_phases
is:undefined
.{:takeover, node}
- used if the application is distributed and is started on the current node because of a failover on the nodenode
.{:failover, node}
- used if the application is distributed and is started on the current node because of a failover on nodenode
, and the application specification key:start_phases
is not:undefined
.
start_args
are the arguments passed to the application in the :mod
specification key (e.g., mod: {MyApp, [:my_args]}
).
This function should either return {:ok, pid}
or {:ok, pid, state}
if
startup is successful. pid
should be the PID of the top supervisor. state
can be an arbitrary term, and if omitted will default to []
; if the
application is later stopped, state
is passed to the stop/1
callback (see
the documentation for the c:stop/1
callback for more information).
use Application
provides no default implementation for the start/2
callback.
Callback implementation for Application.start/2
.
start_link(opts \\ [])
subscribe(pid, queue)
Subscribe to a queue - ie. listen to queue for jobs
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queueconcurrency
- Optional argument specifying max concurrency for queue
subscribe(pid, queue, concurrency)
subscriptions(pid)
List all subscriptions(active queues)
pid
- PID for Exq Manager or Enqueuer to handle this
unsubscribe(pid, queue)
Unsubscribe from a queue - ie. stop listening to queue for jobs
pid
- PID for Exq Manager or Enqueuer to handle thisqueue
- Name of queue
unsubscribe_all(pid)
Unsubscribe from all queues - ie. stop listening for jobs
pid
- PID for Exq Manager or Enqueuer to handle this
whereis(name)
worker_job(name \\ nil, pid \\ self())
Get the job metadata
name
- registered name of Exq. Only necessary if the custom name option is used when starting Exq. Defaults to Exqpid
- pid of the worker. Defaults to self().