Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this do?
Queue
InfoRequestExpireJob
on a Xapian Sidekiq queue which has concurrency disable so only one job is processed at a time.Why was this needed?
Calls to
InfoRequestExpireJob
when passed aUser
would block processing of other jobs such as attachment processing and cause support mail.Implementation notes
The order of the queues in
config/general.yml
is important (as they aren't weighted). the worker threads will always prioritise the first queue (default
) so attachment processing and other jobs get priority.Because we dealing with Xapian we also want to ensure only one Xapian related task is happening at any one time (although currently the expire job, isn't actually running Xapian indexing, but having multiple expire job, for the same resource running at the same time, could cause issues too) adding the
sidekiq-limit_fetch
to configure thelimits
inconfig/general.yml
allows us to do this.