Packages
verk
1.7.2
1.7.3
1.7.2
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
0.14.1
0.14.0
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
Verk is a job processing system backed by Redis.
Current section
Files
Jump to
Current section
Files
lib/verk/in_progress_queue.ex
defmodule Verk.InProgressQueue do
@moduledoc """
This module interacts with the in progress queue.
"""
@external_resource "priv/lpop_rpush_src_dest.lua"
@lpop_rpush_src_dest_script_sha Verk.Scripts.sha("lpop_rpush_src_dest")
@max_enqueue_inprogress 1000
def enqueue_in_progress(queue_name, node_id, redis) do
in_progress_key = inprogress(queue_name, node_id)
Redix.command(redis, [
"EVALSHA",
@lpop_rpush_src_dest_script_sha,
2,
in_progress_key,
"queue:#{queue_name}",
@max_enqueue_inprogress
])
end
defp inprogress(queue_name, node_id) do
"inprogress:#{queue_name}:#{node_id}"
end
end