All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Rails 7 friendliness
- Remove validation for job server url for destruction of a job
- Ruby 3 Upgrade
- Add scope for stale queued jobs
- Update Ruby to 2.6.5
- Requires a Rails 6-compatible application
- Added
successful_jobs_deletion_after
configuration option to set the time after a succeeded job should be deleted. - Jobs now schedule a cleanup job to delete themselves in
successful_jobs_deletion_after
-time after succees.
- Replaced occurrences of
have_enqueued_job
tohave_enqueued_sidekiq_job
in specs to avoid deprecation notices and name clashes with ActiveJob.
- Removed index to jobs table on
expired_at
attribute, with so many updates, it is non performant.
- Fixes jobs deletion in cleanup when there are remote job parameters missing.
- Add a more efficient way to retrieve jobs for cleanup.
- Update migrations to be Rails 5 compliant.
- Add index to jobs table on
expired_at
attribute.
- Update ruby to 2.3.1
- Requires a Rails 5 compatible application
- Remove
job#body=
method to allow for a more agnostic use
- Use
head
for header only responses
- Transform params into json format if data type is a Hash.
- Wait for db transaction to complete before enqueuing job
- Cleaner worker is scheduled to run every day instead of every time a job is created
- Relax Rails version to ~> 4.1
- Do not use
responders
gem in controller. Lessen dependencies
- Remove warning about circular dependencies
- Use
sidekiq-cron
for scheduling.
- Add
Asyncapi::Client::Job#response_code
- Add Job
fail_queue
event that transitions fromfresh
toqueue_error
- Remove unneeded scope for
Job.for_time_out
. Has a small speed increase. - Scope
Job.for_time_out
tofresh
andqueued
statuses because it's not possible to transition totimed_out
from other statuses.
- Unsuccessful response in JobPostWorker triggers
fail_queue
event
- Mention that
:status
is one of the attributes that should be allowed during mass assignment when usingprotected_attributes
- Use a secret generated in the client for the server to negotiate authentication
- No more manual authentication needs to be done. Ensure that the
Asyncapi::Client.parent_controller
config is removed
- No more manual authentication needs to be done. Ensure that the
- Add
on_time_out
callback
- By default, jobs will not time out.
time_out
must be supplied - Trigger
JobStatusWorker
when server responds with an error - The
JobTimeOutWorker
that checks for jobs that should be timed out runs every minute
- Add
Asyncapi::Client::Job#callback_params
for params that will be accessible by the callback runners
- Callback runners must inherit from
Asyncapi::Client::CallbackRunner
. See README for an example.
- Fixes issue when setting callbacks that are constants/classes
- Initial working version