Magento 2 Queue Issues¶
Depending on how you setup Magento 2 for cron and your queueing implementation, you may come across an issue where the cron runner process gets stuck and is repeated multiple times along with each of the queue consumers.
This can eventually starve a server of resources as it constantly adds more processes to the system which will eventually lead to the site become unstable then unresponsive.
You can diagnose this by checking
htop and filtering for the Magneto 2 cron
cron:run or using
ps aux | grep <project_location> to see the process running from there.
The root cause is that the queues may not be configured to end the process when there are no messages to process.
Fixing Queues getting stuck¶
The solution is a tweak to the
app/etc/env.php file around the queue configuration.
Ensure you have the following:
// ... 'queue' => [ 'consumers_wait_for_messages' => 0 ], // ...