gen_retry
Utilities for retrying Elixir functions, with configurable delay and backoff. (by appcues)
exq
Job processing library for Elixir - compatible with Resque / Sidekiq (by akira)
gen_retry | exq | |
---|---|---|
1 | 4 | |
197 | 1,475 | |
- | - | |
0.0 | 3.8 | |
about 1 year ago | 3 months ago | |
Elixir | Elixir | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gen_retry
Posts with mentions or reviews of gen_retry.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-15.
-
Complete, Production-Ready Phoenix Reference Applications
The second option for out-of-band processing would be a Task or if you want retry logic GenRetry. The primary downside here is that task isn't distributed, so if the server that's trying to run or retry this task goes away, there's nothing to pick it back up and try again.
exq
Posts with mentions or reviews of exq.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-16.
-
How to Use Flume in your Elixir Application
Oban, backed by PostgreSQL or SQLite, also provides a queue-based job processing system. Exq, on the other hand, is backed by Redis. It provides features similar to Flume, but without built-in rate limiting and batch processing capabilities.
- Exq is a job processing library compatible with Resque / Sidekiq for Elixir
-
Complete, Production-Ready Phoenix Reference Applications
Enter Oban, which leverages Postgres' notify/listen functionality to provide a durable queue. Oban is solid and doesn't require Redis, which is cool. I end up using this in most projects I work on. If you absolutely need the speed of Redis, Exq is a pretty good option.
-
sidekiq-dry
Job processing libraries compatible with Sidekiq, for example exq, won't deserialise your Dry::Struct arguments. This is most likely an acceptable tradeoff.
What are some alternatives?
When comparing gen_retry and exq you can also consider the following projects:
oban - 💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
memoize - A method caching macro for elixir using CAS on ETS.
verk - A job processing system that just verks! 🧛
crawler - An easy to use, powerful crawler implemented in PHP. Can execute Javascript.
broadway - Concurrent and multi-stage data ingestion and data processing with Elixir
changelog.com - Changelog is news and podcast for developers. This is our open source platform.
toniq
Crawler - A high performance web crawler / scraper in Elixir.
amqp - Idiomatic Elixir client for RabbitMQ
deque - Fast bounded deque using two rotating lists.
honeydew - Job Queue for Elixir. Clustered or Local. Straight BEAM. Optional Ecto. 💪🍈