-
- Downloads
Stop using Sidekiq for updating Key#last_used_at
This makes things simpler as no scheduling is involved. Further we remove the need for running a SELECT + UPDATE just to get the key and update it, whereas we only need an UPDATE when setting last_used_at directly in a request. The added service class takes care of updating Key#last_used_at without using Sidekiq. Further it makes sure we only try to obtain a Redis lease if we're confident that we actually need to do so, instead of always obtaining it. We also make sure to _only_ update last_used_at instead of also updating updated_at. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36663
Showing
- app/models/key.rb 1 addition, 6 deletionsapp/models/key.rb
- app/services/keys/last_used_service.rb 33 additions, 0 deletionsapp/services/keys/last_used_service.rb
- app/workers/use_key_worker.rb 0 additions, 13 deletionsapp/workers/use_key_worker.rb
- changelogs/unreleased/remove-use-key-worker.yml 5 additions, 0 deletionschangelogs/unreleased/remove-use-key-worker.yml
- config/sidekiq_queues.yml 0 additions, 1 deletionconfig/sidekiq_queues.yml
- spec/models/key_spec.rb 9 additions, 22 deletionsspec/models/key_spec.rb
- spec/services/keys/last_used_service_spec.rb 68 additions, 0 deletionsspec/services/keys/last_used_service_spec.rb
- spec/workers/use_key_worker_spec.rb 0 additions, 23 deletionsspec/workers/use_key_worker_spec.rb
app/services/keys/last_used_service.rb
0 → 100644
app/workers/use_key_worker.rb
deleted
100644 → 0
spec/services/keys/last_used_service_spec.rb
0 → 100644
spec/workers/use_key_worker_spec.rb
deleted
100644 → 0
Please register or sign in to comment