A Redis-backed job processing system for Elixir with Sidekiq/Resque compatibility and isolated queue supervision trees.
Verk is a job processing system for Elixir applications that uses Redis for persistence and reliability. It follows the same job definition as Sidekiq/Resque, making it easy to adopt for teams familiar with those systems. The system is designed to isolate queue execution with dedicated supervision trees per queue, ensuring robustness and fault tolerance.
Elixir developers building background job processing into their applications, particularly those migrating from or familiar with Sidekiq/Resque in Ruby ecosystems.
Developers choose Verk for its reliability through Redis-backed persistence, queue isolation to prevent cascading failures, and seamless adoption due to its Sidekiq/Resque-compatible job definitions.
A job processing system that just verks! 🧛
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Redis commands like RPOPLPUSH and Lua scripts to ensure jobs are never lost during crashes, with persistent storage for retries and failures, as highlighted in the reliability section.
Each queue runs in its own supervision tree with dedicated workers and managers, preventing failures in one queue from affecting others, which is core to Verk's design philosophy.
Follows the same job definition as Sidekiq/Resque, making it easy for teams migrating from Ruby ecosystems to adopt quickly without relearning job structures.
Allows adding and removing queues at runtime with configurable worker counts via Verk.add_queue/2 and Verk.remove_queue/1, providing flexibility without application restarts.
Requires unique node_id per instance and careful node removal to avoid job duplication or stuck jobs, as explicitly warned in the deployment section, adding operational risk.
Relies entirely on Redis for job persistence, introducing external operational complexity and a potential single point of failure if Redis is not properly managed or clustered.
Essential features like dashboards and advanced metrics require separate projects (Verk Web, Verk Stats), increasing setup effort and fragmentation in the ecosystem.
verk is an open-source alternative to the following products: