Sidekiq always use `primary`, but not always needs

Currently Sidekiq always use primary, but not always needs.

We currently have no way to distinguish whether the given worker requires read-only or read-write access to data. It seems that if we would start annotating workers, we could call for majority of time Replicas instead, for operations that do not require read-write and super up-to date data, like:

  • all notifications
  • all webhooks
  • all ...

This would allow us to remove a number of SELECT statements from master.

~"team::Scalability" is spending a lot of effort of annotating workers, maybe following the same pattern we could do the same.

Edited by Kamil Trzciński