Popularity
1.9
Stable
Activity
0.0
Stable
11
2
1
Monthly Downloads: 9
Programming language: Elixir
License: BSD 3-clause "New" or "Revised" License
Tags:
Queue
Latest version: v0.3-dev
queuex alternatives and similar packages
Based on the "Queue" category.
Alternatively, view queuex alternatives based on common mentions on social networks and blogs.
-
kaffe
An opinionated Elixir wrapper around brod, the Erlang Kafka client, that supports encrypted connections to Heroku Kafka out of the box. -
task_bunny
TaskBunny is a background processing application written in Elixir and uses RabbitMQ as a messaging backend -
hulaaki
DISCONTINUED. DEPRECATED : An Elixir library (driver) for clients communicating with MQTT brokers(via the MQTT 3.1.1 protocol). -
adap
Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules. -
exdisque
Elixir client for Disque (https://github.com/antirez/disque), an in-memory, distributed job queue.
InfluxDB โ Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
Promo
www.influxdata.com

Do you think we are missing an alternative of queuex or a related project?
Popular Comparisons
README
Queuex
Queuex is a Priority Queue.
These backends are supported:
1. List (Queuex.Backends.List)
2. Red-black tree (Queue.Backends.RedBlackTree)
Usage
1. Define your queue module.
defmodule MyQueue do
use Queuex,
max_num: 3, # (required, integer) max worker numbers
worker: :my_worker, # (required, atom) callback function
backend: # (optional, Queuex.Backends.List(default) or Queuex.Backends.RedBlackTree) queue backend
default_priority: 1, # (optional, integer, default: 1) default priority for &MyQueue.push/1, smaller means high priority
unique: false # (optional, true or false(default) or :strictly) duplication term is allowned in queue. false => don't check, true => check with `backend.has_value?/2`, :strictly => check with `backend.has_priority_value?/3`
def my_worker(term, _priority) do
:timer.sleep(10000)
term |> IO.inspect
end
end
2. supervise your queue module
[ MyQueue.child_spec
... # your other supervisor or worker
] |> supervise strategy: :one_for_one
3. push term to queue
MyQueue.push(term, priority)
MyQueue.push(term) # push term with default priority
TODO
- [ ] Benchmark
- [ ] Document