activejob-status

A simple monitoring status for ActiveJob

MIT License

Downloads
925.1K
Stars
126
Committers
8

Bot releases are hidden (Show)

activejob-status - 1.1.0.beta.1 Latest Release

Published by inkstak 6 months ago

Changes :

  • Implement job batches by @matteeyah : #32

See README.

activejob-status - 1.0.2

Published by inkstak 6 months ago

Changes

  • Avoid one extra call to cache when reading progress

Dependencies support

  • Ruby 3.0 dropped
  • Rails 6.0 dropped
  • Fix Ruby 3.4 in CI

The gem currently supports:

  • Ruby 3.1, 3.2, 3.3 & 3.4dev
  • Rails 6.1, 7.0 & 7.1

Dropped versions are removed from CI, but they may still work.
See Ruby EOL & Rails EOL for more information.

activejob-status - 1.1.0.beta.0

Published by inkstak 8 months ago

  • Implement job batches by @matteeyah : #32
activejob-status - 1.0.1

Published by inkstak 9 months ago

Update CI :

  • tested with Rails 7.1
  • tested with Ruby 3.3
  • tested with Ruby head (3.4dev)
activejob-status - 1.0.0 - Drop EOL dependencies

Published by inkstak over 1 year ago

This version drops support of EOL versions of ActiveJob & ActiveSupport.

If you're still using an older version of Rails, see v0.5.0.

activejob-status - 0.5.0

Published by inkstak over 1 year ago

Fix #24: some features introduced after v0.2.2 depends on ActiveSupport >= 5.0 but the gemspec still required ActiveSupport >= 4.2.

The next major release v1.0 will drop support of EOL versions of ActiveJob & ActiveSupport.
This release of v0.5 is still supporting ActiveSupport 5.x but not 4.2.

If you're still using an older version of Rails, you can suggest a pull request:

  • fork the branch v0_5 and submit a PR
  • the PR must pass the test suite (currently broken with ActiveSupport 5.x)
  • no feature request will be accepted.
activejob-status - 0.4.1

Published by inkstak over 1 year ago

  • Fix error message to saved into status - 3fca9bae
  • Fix and update Github actions
activejob-status - 0.4.0

Published by inkstak almost 2 years ago

  • Fix an issue where progress couldn't be updated from outside the job #22
  • Prevent exceptions when using internal (but public) methods from outside the job
  • Update CI
activejob-status - 0.3.0

Published by inkstak almost 2 years ago

  • Add job information to status - #18 thanks to @ghaydarov
    You can update you default config to get more informations about the job and the raised exception.
# config/initializers/activejob_status.rb

# Select what data you want to store.
# Available options are: :status, :serialized_job, :exception
# Default is [:status]
#
ActiveJob::Status.options = { includes: %i[status serialized_job exception] }
status = ActiveJob::Status.get(job)
# => { status: :queued, serialized_job: { "arguments" => [], "job_class" => "BaseJob", "job_id" => "d11b64e6-8631-4118-ae76-e19376769171", ... }

status = ActiveJob::Status.get(job)
# => { status: :failed, exception: { class: "NoMethodError", message:"Something went wrong" } }
  • Few refactoring, updates CI, add code coverage.
activejob-status - 0.2.2

Published by inkstak about 3 years ago

  • Add tests - #15 thanks to @ahorek
  • Default status are correctly updated when using throttling mechanism - #16 thanks to @jeanne-b-
  • progess is correctly synced when using .update()
    This is especially usefull to perform less cache writes
class MyJob < ActiveJob::Base
  include ActiveJob::Status

  def perform
    status.update(step: "B", total: 50, progress: 10)

    # `progress.total` is now set to 50
    # and `progress.progress` to 10
  end
end
activejob-status - 0.2.1

Published by inkstak about 3 years ago

  • Arguments fixed in Ruby 3.x
  • Allow to pass options to store=
activejob-status - 0.2.0

Published by inkstak about 3 years ago

New features :

  • Add a throttling mechanism to significantly reduce any slowdowns caused by storage latency.
  • Allow passing options within a job (expires_in, throttle_interval)
  • More details added to README

Breaking changes :

The non-public moduleActiveJob::Status::Storage has been refactored to become a class.