They probably did not batch. It’s realistic they will have issues if code is written to handle 1 job at a time and needs to make several roundtrips to the same db inside the same locking transaction.
> if code is written to handle 1 job at a time and needs to make several roundtrips to the same db inside the same locking transaction.
Do you mean the application code? The worker itself causing the bottleneck is definitely one possibility however if that were the case the issue wouldn't have resolved itself when they switched to a different job queue.
Leases exist for a reason.