rails/activejob/CHANGELOG.md
George Claghorn b5e88317cc Add :only option to assert_enqueued_jobs
With the option, assert_enqueued_jobs will check the number of times a specific kind of job is enqueued.
2015-01-07 23:44:08 -05:00

1.2 KiB

  • Add :only option to assert_enqueued_jobs

    With the option, assert_enqueued_jobs will check the number of times a specific kind of job is enqueued:

    def test_logging_job assert_enqueued_jobs 1, only: LoggingJob do LoggingJob.perform_later HelloJob.perform_later('jeremy') end end

    George Claghorn

  • ActiveJob::Base.deserialize delegates to the job class

    Since ActiveJob::Base#deserialize can be overridden by subclasses (like ActiveJob::Base#serialize) this allows jobs to attach arbitrary metadata when they get serialized and read it back when they get performed. Example:

    class DeliverWebhookJob < ActiveJob::Base def serialize super.merge('attempt_number' => (@attempt_number || 0) + 1) end

     def deserialize(job_data)
       super
       @attempt_number = job_data['attempt_number']
     end
    
     rescue_from(TimeoutError) do |exception|
       raise exception if @attempt_number > 5
       retry_job(wait: 10)
     end
    

    end

    Isaac Seymour

Please check 4-2-stable for previous changes.