- If a worker is processing a job that does not have ActiveJob arguments, allow it to be enqueued rather than failing with an error. This happens if a job has been queued by Resque directly without ActiveJob.
- Allow Rails 6.
- Breaking change: Allow a job to reschedule itself while it executing but not enqueued.
- Adds
solo_self_enqueueing
as an option to control the re-enqueueing behavior. Usesolo_self_enqueueing :prevent
for the behavior prior to version 1.0.0.
- Add CI test for Ruby 2.5.0.
- Fix bug that caused ActiveJobResqueSolo to fail to realize that the Rails app was configured for Resque.
- Fix bug that would prevent resque-scheduler from enqueuing jobs with no arguments.
- Fix bug that would allow duplicate enqueues of jobs that had no arguments.
- Adds
solo_any_args
directive that will only allow one instance of a job class in the queue regardless of any arguments.
- Fix bug that could prevent enqueing with slowly performing locks.
- Simplifies lock acquisition and tightens its restrictions, reducing chances of duplicate enqueues.
- Improves Lock efficiency by removing one call to Redis during #extend.
-
Adds locking to prevent two or more processes in a race condition from enqueuing multiple copies of a job.
-
Adds the
solo_lock_key_prefix
directive to set the lock key prefix for your job.
- Removes internal methods used by Solo from your Job class' namespace.
- Initial version of ActiveJob::Plugins::Resque::Solo.