Danila is above is right Solutions that tell you to do cron_run = 'false" will disable other queues you do want, like bulk attribute update or export file generation.
Option 1 disable packages
php bin/magento module:disable Magento_WebapiAsync
php bin/magento module:disable Magento_Amqp
I think it makes sense to disable both as the absence of Ampq allows modules to switch to mysql - but I haven't dug deep into that. Indeed if all you want is for the error message to vanish then Danilo's option is all you need
Option 2 Tweak your queue cron, dont disable it
This is if you don't want to or can't take core modules off.
List your existing queues
Add all of them except async to your cron consumer, in env.php. If there is functionality you never use, skip that one (but remember you did...)
'queue' => [
'consumers_wait_for_messages' => 0,
'cron_consumers_runner' => [
'cron_run' => true,
'max_messages' => 2,
'single_thread' => true,
'consumers-wait-for-messages' => 0,
'consumers' => [
Most places have a higher max_messages but if you are not having rabbitmq you are possibly on a low budget host too and short queues more often are better. Up the number as you want.
Option 3 - take things out of internal cron and add them manually, queue per queue, to cron
cron_run => false
and then putting things like
bin/magento queue:consumers:start --single-thread --max-messages=20 inventory.source.items.cleanup in your cron (or running them manually if you do it rarely. If you have a shared server
'consumers_wait_for_messages' => 0 or consumers-wait-for-messages=1 is key for memory management