Improve automatic post cleanup worker performances (#24785)
This commit is contained in:
		
							parent
							
								
									d9e45f2fa9
								
							
						
					
					
						commit
						7012bf6ed3
					
				
					 2 changed files with 58 additions and 8 deletions
				
			
		|  | @ -73,7 +73,7 @@ describe Scheduler::AccountsStatusesCleanupScheduler do | |||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe '#get_budget' do | ||||
|   describe '#compute_budget' do | ||||
|     context 'on a single thread' do | ||||
|       let(:process_set_stub) { [ { 'concurrency' => 1, 'queues' => ['push', 'default'] } ] } | ||||
| 
 | ||||
|  | @ -128,6 +128,19 @@ describe Scheduler::AccountsStatusesCleanupScheduler do | |||
|           .and change { account3.statuses.count } | ||||
|           .and change { account5.statuses.count } | ||||
|       end | ||||
| 
 | ||||
|       context 'when given a big budget' do | ||||
|         let(:process_set_stub) { [{ 'concurrency' => 400, 'queues' => %w(push default) }] } | ||||
| 
 | ||||
|         before do | ||||
|           stub_const 'Scheduler::AccountsStatusesCleanupScheduler::MAX_BUDGET', 400 | ||||
|         end | ||||
| 
 | ||||
|         it 'correctly handles looping in a single run' do | ||||
|           expect(subject.compute_budget).to eq(400) | ||||
|           expect { subject.perform }.to change { Status.count }.by(-30) | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Reference in a new issue