Fix infinite retries of interrupted jobs
This MR partially reverts https://gitlab.com/gitlab-org/sidekiq-reliable-fetch/merge_requests/12 or at least changes the behavior significantly. We don't make a difference how exactly the job has been failed, forcibly or not. The job can only be interrupted and retried 3 times (this is by default and is configurable). After all the attempts to run the job has failed we put it to a special queue interrupted
. This queue mostly behaves as Dead queue so it only stores a limited amount of jobs for a limited term. Same as for Dead queue, all the limits are configurable.
All the functionality is tested in specs and integration tests.
The issue https://gitlab.com/gitlab-org/gitlab-ce/issues/60986
Edited by Valery Sizov