exq v0.13.0 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_phasesis: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_phasesis 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().