Skip to content

Instantly share code, notes, and snippets.

View szajbus's full-sized avatar
👋

Michał Szajbe szajbus

👋
View GitHub Profile
@szajbus
szajbus / dedupe_queue.exs
Created April 30, 2020 12:15
Deduplicate verk queue
deduplicate_queue = fn queue, offset ->
{_, deleted_count} =
Verk.Queue.range!(queue, offset)
|> Enum.reduce({MapSet.new(), 0}, fn job, {seen, deleted_count} ->
if MapSet.member?(seen, {job.class, job.args}) do
case Verk.Queue.delete_job(queue, job) do
{:ok, true} -> {seen, deleted_count + 1}
_ -> {seen, deleted_count}
end
else