I currently have a rails 6 app using Shoryuken (5.2.3) with SQS to asynchronously handle user initiated image processing and uploading. Everything appears to be working as expected as far as the side effects of the job (which includes the Shoryuken::Worker) are considered. The Shoryuken logs (from using the command bundle exec shoryuken -q my-queue-name -R) generates some confusing output. The job has some puts statements for debugging, and while watching the initial run generate the expected sequence of puts statements, I start seeing output that would imply that the job (the one still inflight) has been initiated again, before finishing or erroring out. This continues until the pool of threads have been exhausted, and this error is thrown.
ERROR: Processor failed: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use
My concern is that this could block connections for users and negatively impact user experience or have unexpected consequences with partial job runs (despite the job being idempotent). I assume I might need to configure the retry settings but thats just a guess, and input on this would be helpful.