File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ class EnqueueError < StandardError; end
1010
1111 class << self
1212 def enqueue_all ( active_jobs )
13+ active_jobs . each { |job | job . scheduled_at ||= Time . current }
1314 active_jobs_by_job_id = active_jobs . index_by ( &:job_id )
1415
1516 transaction do
Original file line number Diff line number Diff line change @@ -356,6 +356,22 @@ class DiscardableNonOverlappingGroupedJob2 < NonOverlappingJob
356356 assert_equal "enqueued inside a rolled back transaction" , job . arguments . dig ( "arguments" , 0 )
357357 end
358358
359+ test "enqueue_all assigns scheduled_at if missing" do
360+ freeze_time do
361+ active_jobs = [
362+ AddToBufferJob . new ( 1 ) ,
363+ AddToBufferJob . new ( 2 ) . set ( wait : 5 . minutes )
364+ ]
365+
366+ ActiveJob . perform_all_later ( active_jobs )
367+
368+ jobs = SolidQueue ::Job . where ( active_job_id : active_jobs . map ( &:job_id ) ) . order ( :id )
369+
370+ assert_equal Time . current , jobs [ 0 ] . scheduled_at
371+ assert_equal 5 . minutes . from_now , jobs [ 1 ] . scheduled_at
372+ end
373+ end
374+
359375 private
360376 def assert_ready ( &block )
361377 assert_job_counts ( ready : 1 , &block )
You can’t perform that action at this time.
0 commit comments