method

interrupt_job_during_step

rails latest stable - Class: ActiveJob::Continuation::TestHelper

Method not available on this version

This method is only available on newer versions. The first available version (v8.1.1) is shown here.

interrupt_job_during_step(job, step, cursor: nil, &block)
public

Interrupt a job during a step.

class MyJob < ApplicationJob
  include ActiveJob::Continuable

  cattr_accessor :items, default: []
  def perform
    step :my_step, start: 1 do |step|
      (step.cursor..10).each do |i|
        items << i
        step.advance!
      end
    end
  end
end

test "interrupt job during step" do
  MyJob.perform_later
  interrupt_job_during_step(MyJob, :my_step, cursor: 6) { perform_enqueued_jobs }
  assert_equal [1, 2, 3, 4, 5], MyJob.items
  perform_enqueued_jobs
  assert_equal [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], MyJob.items
end