Improve automatic post cleanup worker performances (#24785)
This commit is contained in:
parent
a0c9f2447e
commit
8b636a29c6
2 changed files with 57 additions and 8 deletions
|
@ -75,7 +75,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' => %w(push default) }] }
|
||||
|
||||
|
@ -130,6 +130,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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue