Updating to help anyone who runs into this: I was using Maintenance Mode to protect these servers. The queue just won't run in maintenance mode! It also seemed to be the case that the worker was not running even though I ticked the box in Forge to run in maintenance mode.
Laravel Queue Broken in Production
I've been working my way through a Laravel 8->9 upgrade (with the help of Shift.) After some initial troubleshooting with changed ENV variable names, I was able to get jobs added to SQS queues just fine. Locally, it works great. But on my dev and staging servers, the queues do not run. When I attempt to run php artisan queue:listen, it just sits there as if there is nothing in the queue. However, if I check the queue size in a tinker session (i.e. \Queue::size('public_dev');) it properly reports the queue size (which I can confirm on the AWS SQS dashboard.) The artisan queue:listen command works fine in my local environment with the same ENV file/credentials (save for the URL and DB.)
There are no errors in the logs.
Anyone have any ideas about what could be going on?
Here's a screenshot illustrating what I'm encountering:

EDIT: The plot thickens. I switched over to the database driver. Same thing! Jobs will just sit in the queue but not get processed. So at least it's not an AWS access issue.
Please or to participate in this conversation.