Processing Commits Using Sidekiq

yorickpeterse-staging requested to merge process-commits-using-sidekiq into master

What does this MR do?

This moves the code of GitPushService#process_commit_messages into a separate Sidekiq worker. This allows processing of commits to happen in parallel, speeding up the process. See the individual commit (messages) for more information.

Are there points in the code the reviewer needs to double check?

As far as I could tell/test the behaviour is the same as before (logic wise), but an extra pair of eyes on this would be appreciated.

Why was this MR needed?

Processing commits in sequence is hella slow, especially when commits mention a lot of issues.

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ce/issues/15463

Merge request reports