All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Relax poison dependency #485 by @frahugo
- Add enqueue_all for enqueuing a batch of jobs atomically #483 by @meysius
- Fix namespaced keys in scripts for ACL redis #481 by @korialis
- Add Exq unique job feature, allow to enforce a single instance of job! #469 by @ananthakumaran
- Setup default redis timeout config #475 by @ananthakumaran
- Use erlef/setup-beam and bump versions #476 by @kianmeng
- API to send signal to worker nodes by @ananthakumaran
- Fixed typos #464 by @kianmeng
- Fix @doc redefined warnings #463 by deepfryed
NOTE: Please read PR #458 for upgrade instructions.
- Add retried_at field for Sidekiq compatibility #450 by @ananthakumaran
- Add apis to support exq_ui #452 by @ananthakumaran
- Add documentation about mode: :enqueuer and Exq.Enqueuer.queue_in #456 by @dbernheisel
- Add api to immediately enqueue jobs from retry/scheduled queue #461 by @ananthakumaran
- Add api to re-enqueue dead job #462 by @ananthakumaran
- Add Sidekiq 5 compatibility #458 by @ananthakumaran
- Use latest Phoenix child spec style #459 by @vovayartsev
- Replace deprecated supervisor calls #453 by @vkuznetsov
- Handle timeouts on middleware pipeline #444 by @ananthakumaran
- Use the correct scheduled time for enqueued_at field for mock #449 by @ananthakumaran
- Add dequeue behavior for ability to implement things like concurrency control #421 by @ananthakumaran
- Api Module Documentation #440 by @kevin-j-m
- Use Lua script to schedule job for better performance and memory leak fix #427 by @ananthakumaran
- Logging fixes #429 by @rraub
- Relax poison dependency #431 by @ananthakumaran
- Use github actions instead of Travis #433 by @ananthakumaran
- Use the same same module conversion logic in mock as well #434 by @ananthakumaran
- use Task instead of spawn_link for starting workers #436 by @mitchellhenke
- re-enqueue unfinished jobs to the beginning of queue on restart #424 by @ananthakumaran
- Fix for sentinel 0.11.0+ #428 by @ananthakumaran
- Fixes for generated HTML docs by #442 @kianmeng
- Node heartbeat functionality for dynamic environments #392 by @ananthakumaran (disabled by default).
- Exq telemetry events #414 by @hez
- Allow custom job IDs #417 by @bradediger
- Don't log Redis disconnects #420 by @isaacsanders
- exq.run mix task starts dependent apps as well #408 by @ananthakumaran
- Cast queue level concurrency #401 by @ananthakumaran
- Fix documentation typo #423 by @LionsHead
- Fix conflicting unit in docs #419 by @JamesFerguson
- Queue adapter for mock testing @ananthakumaran and @samidarko
- Remove unnecessary serialization of enqueue calls #390 by @ananthakumaran and @sb8244
- Fix warnings by @hkrutzer #394
- Start all the apps during test by @ananthakumaran #391
- Replace KEYS with a cursored call to SCAN for realtime stats by @neslinesli93 #384
- Handle AWS Elasticache Redis DNS failover. This ensures persistent connections are shutdown, forcing a reconnect in scenarios where a Redis node in a HA cluster is switched to READONLY mode by @deepfryed.
- Fix json_library issue #369 needing addition to config file. Add default value.
- Support for configurable JSON parser, with Jason as default by @chulkilee.
- Remove redundant time output for worker log by @akira.
- Fix deprecated time warning by @gvl.
- Due to library dependencies, support for Elixir 1.3, Elixir 1.4 and OTP 18.0, OTP 19.0 has been removed.
- Redix version older than 0.8.1 is no longer supported.
- Config options
reconnect_on_sleep
andredis_timeout
are now removed.
- Support for Redix >= 0.8.1 by @ryansch and @ananthakumaran.
- Configuration for Mix Format by @chulkilee.
- Use :microsecond vs :microseconds by @KalvinHom.
- Redis options are now passed in via
redis_options
by @ryansch and @ananthakumaran. - Removed redix_sentinel dependency, now supported by new Redix version by @ananthakumaran.
- Don't assume redis_opts is enumerable by @ryansch.
- Add {:system, VAR} format support for more config params by @LysanderGG
- Allow setting mode to both [:enqueuer, :api] by @buob
- Specify less than 0.8.0 on redix version in mix.exs by @buob
- Cleanup packaging for
elixir_uuid
change.
- Change
uuid
toelixir_uuid
which has been renamed. This will prevent future namespace clashes by @tzilist.
- Trim dead jobs queue after certain size by @ananthakumaran.
- Add an api to list all subscriptions (active queues) by @robobakery.
- Have top supervisor wait for worker drainer to gracefully terminate @frahugo.
- Fix retry for Sidekiq job format using retry => true by @deepfryed.
- Remove Password logging by @akira.
- Redis Sentinel support by @ananthakumaran.
- Make redis module name and start_link args configurable @ananthakumaran.