https://github.com/nsweeting/gen_queue
Generic queues with adapter support for Elixir
https://github.com/nsweeting/gen_queue
background-jobs elixir job-queue queues
Last synced: 18 days ago
JSON representation
Generic queues with adapter support for Elixir
- Host: GitHub
- URL: https://github.com/nsweeting/gen_queue
- Owner: nsweeting
- License: mit
- Created: 2018-02-02T14:06:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-15T15:59:54.000Z (about 1 year ago)
- Last Synced: 2025-08-23T14:59:40.192Z (about 2 months ago)
- Topics: background-jobs, elixir, job-queue, queues
- Language: Elixir
- Homepage:
- Size: 45.9 KB
- Stars: 46
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GenQueue
[](https://travis-ci.org/nsweeting/gen_queue)
[](https://hex.pm/packages/gen_queue)GenQueue is a specification for queues.
This project currently provides the following functionality:
* `GenQueue` ([docs](https://hexdocs.pm/gen_queue/GenQueue.html)) - a behaviour for queues
* `GenQueue.Adapter` ([docs](https://hexdocs.pm/gen_queue/GenQueue.Adapter.html)) - a behaviour for implementing adapters for a `GenQueue`
* `GenQueue.JobAdapter` ([docs](https://hexdocs.pm/gen_queue/GenQueue.JobAdapter.html)) - a behaviour for implementing job-based adapters for a `GenQueue`
* `GenQueue.Job` ([docs](https://hexdocs.pm/gen_queue/GenQueue.Job.html)) - a struct for containing job-enqueuing instructions
## Installation
The package can be installed by adding `gen_queue` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:gen_queue, "~> 0.1.8"}
]
end
```## Documentation
See [HexDocs](https://hexdocs.pm/gen_queue) for additional documentation.
## Adapters
The true functionality of `GenQueue` comes with use of its adapters. Currently, the following
adapters are supported.* [GenQueue Exq](https://github.com/nsweeting/gen_queue_exq) - Redis-backed job queue.
* [GenQueue TaskBunny](https://github.com/nsweeting/gen_queue_task_bunny) - RabbitMQ-backed job queue.
* `GenQueue Que` - Mnesia-backed job queue. Currently has an Elixir 1.6 bug. Not available until this is fixed.
* [GenQueue Toniq](https://github.com/nsweeting/gen_queue_toniq) - Redis-backed job queue.
* [GenQueue Verk](https://github.com/nsweeting/gen_queue_verk) - Redis-backed job queue.
* [GenQueue OPQ](https://github.com/nsweeting/gen_queue_opq) - GenStage-backed job queue.More adapters are always welcome!
## Contributors
* Nick Sweeting - [@nsweeting](https://github.com/nsweeting)
* Austin Ziegler - [@halostatue](https://github.com/halostatue)