Рабочий сервис извлекает ожидающие задания из базы данных и обрабатывает их одно за другим. Естественный способ ускорить это - создать несколько (произвольное количество) экземпляров рабочего сервиса (через Docker swarm или аналогичный), и заставить их все одновременно обрабатывать ожидающие задания.
что два экземпляра worker не обрабатывают одно и то же задание?
Я подумал об использовании централизованной непараллельной службы управления, которая отслеживает рабочих и отправляет им задания, вместо того, чтобы рабочие выбирали свои собственные задания, но я предполагаю, что придет время, когда менеджер сам сервис нужно будет распараллелить. Это решение, кажется, просто отодвигает проблему в будущее.