-
Notifications
You must be signed in to change notification settings - Fork 180
/
redis.ex
26 lines (21 loc) · 962 Bytes
/
redis.ex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
defmodule Exq.Adapters.Queue.Redis do
@moduledoc """
Redis based Asynchronous queue. Enqueue the job by using the GenServer API.
Default queue. Designed to be used in production.
"""
alias Exq.Support.Config
alias Exq.Redis.JobQueue
@behaviour Exq.Adapters.Queue
def enqueue(pid, queue, worker, args, options) do
{redis, namespace} = GenServer.call(pid, :redis, Config.get(:genserver_timeout))
JobQueue.enqueue(redis, namespace, queue, worker, args, options)
end
def enqueue_at(pid, queue, time, worker, args, options) do
{redis, namespace} = GenServer.call(pid, :redis, Config.get(:genserver_timeout))
JobQueue.enqueue_at(redis, namespace, queue, time, worker, args, options)
end
def enqueue_in(pid, queue, offset, worker, args, options) do
{redis, namespace} = GenServer.call(pid, :redis, Config.get(:genserver_timeout))
JobQueue.enqueue_in(redis, namespace, queue, offset, worker, args, options)
end
end