rabbitmq和php - 使用一个worker(broker)处理多个队列

时间:2017-06-20 08:38:23

标签: php rabbitmq worker php-amqp

我有1000个具有特定名称的队列。所以我想用一个经纪人来处理这些队列。有可能吗?

队列名称存储在mysql db中,因此我应该获取主题并为每个运行代理。当然它应该异步运行,并且应该能够将排队的项目传递给空闲代理。这可能吗?或者我应该将具有特定队列名称的1000个文件作为代理?

更新 这是我队列的照片。队列应该以并行方式运行而不是串行方式。所以用户是生产者,而工人是运行send_message()方法的消费者;

enter image description here

1 个答案:

答案 0 :(得分:2)

我可以通过Get current position in ionic2库向您展示如何使用它。我必须警告你,没有办法在一个进程中异步使用消息。虽然您可以运行一些服务于一组队列的进程。它们可以按队列重要性分成几组。

安装AMQP传输和使用库:

x

创建消费脚本。我假设您已从DB中获取了一组队列名称。它们存储在composer require enqueue/amqp-ext enqueue/enqueue var中。该示例将相同的处理器绑定到所有队列,但当然可以设置不同的处理器。

$queueNames

enqueue

中的更多内容