I had to force the setting to be 0 by adding the below to
'queue' => [
'consumers_wait_for_messages' => 0
If you look at this file:
You will see that Magento 2 actually makes the default for this setting 1 (contrary to the documentation)
* Checks if consumers should wait for message from the queue
* @return bool
private function isWaitingNextMessage(): bool
return $this->deploymentConfig->get('queue/consumers_wait_for_messages', 1) === 1;
After doing that, my other cron processes started running again and I no longer saw the parent cron job as "stuck"
Full article here.