问题标签 [php-amqp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
817 浏览

php - RabbitMq:使用 PHP AMQP 在 Exchange 上设置 AMQP_AUTODELETE 标志

我正在尝试使用 AMQPExchange::setFlags ( int $flags ) 在我的交换中设置 AMQP_AUTODELETE 标志

http://php.net/manual/en/amqp.constants.php http://www.php.net/manual/en/amqpexchange.setflags.php

不工作... :(

$exchange->getFlags() 返回 0 而不是 16(AMQP_AUTODELETE 的整数值)。

但是当我以同样的方式设置 AMQP_DURABLE 标志时它会起作用,$exchange->getFlags() 返回 2。

有没有人找到解决方案?谢谢!!!

0 投票
1 回答
1494 浏览

php - 按优先级消费多个队列

我有一个生产者向主题交换发送消息。每条消息都包含一个路由键。(为原始图道歉)

我正在使用php-amqplib并尝试使用多个队列。我想要实现的是按顺序测试每个队列,看看它是否有消息,如果有,处理它,否则,继续下一个队列。此外,如果找到消息,请从 Q1 重新开始检查过程。以下代码不起作用,但将演示我想要做的逻辑。

0 投票
1 回答
273 浏览

php - PHP AQMP 消息格式

我可以放入队列PHP objects还是必须先将它们序列化,然后再放入队列然后反序列化

如何处理来自队列的消息?

0 投票
1 回答
2445 浏览

php - 如何在 PHP 和/或 Symfony2 中运行多个并行的 Rabbitmq/AMQP 消费者?

我有一个 news-scraper/RSS-aggregation,我通过这个 lib 广播消息:

https://github.com/videlalvaro/php-amqplib/

我目前有 1 个广播员/制作人和 1 个消费者。

有没有办法让多个消费者通过 PHP 并行运行?我知道 PHP 本身不支持这个。它可以通过 cURL 虚拟完成,但 afaik cURL 主要用于基于网络/Web 的请求。

那么,我有什么办法可以在 PHP 中实现这一点吗?当然,Python/Java我都可以,但是我的水平都不是那么好。

0 投票
1 回答
4576 浏览

php - autoload.php 问题:无法打开流:没有这样的文件或目录

我是 PHP 新手,并试图找出 autoload.php 的问题。我下载了 php-amqplib 包及其依赖项并尝试测试 PHP 页面。我无法打开流:没有这样的文件或目录 'D:\inetpub\wwwroot\test\vendor\videlalvaro\php-amqplib\demo/../vendor/autoload.php' (include_path='.;C: \php\梨')。我使用的是 5.3.13,它安装在 'D:\PHP5313' 文件夹中。没有“梨”文件夹。如果我遗漏了什么,你能告诉我吗?感谢您的任何建议。

自动加载.php

0 投票
2 回答
5613 浏览

php - 怎么拖延?- php-amqplib

我想知道如何使用 Amqpphplib 进行延迟。

我使用了这个很棒的咖啡脚本教程:

https://github.com/jamescarr/rabbitmq-scheduled-delivery

但它似乎不适用于 PHP-amqplib。

该消息如我所愿过期,但似乎“x-dead-letter-exchange”不起作用。我使用了 RabbitMQ 管理控制台,我可以实时看到所有队列的创建和删除。但是我的消息在过期后确实会进入即时队列。我使用 RabbitMQ 3.2.3 版本,PHP-amqplib 2.2.* 版本。

这是我的代码:

连接类:

发布代码

消费者代码

0 投票
1 回答
5840 浏览

php - php-amqp 中的“套接字错误:无法连接到主机”异常

我编写了一个函数来检查rabbitmq 是否正在运行。

我的代码捕获了这个异常。我在日志中看到下面 -

但是我的 rabbitmq 服务器正在运行,那么为什么会出现这个异常?我正在使用v3.1.1rabbitmq-server。

0 投票
1 回答
669 浏览

php - RabbitMQ - 生产者和消费者之间的持续连接

我有一个问题 - 如何保持消费者和生产者之间的持续联系?

我的意思是当生产者发送消息时 - 如果我使用 rpc 过程并且连接将关闭,消费者会处理它并使用回调队列发回。

现在我希望消费者和生产者之间的连接应该打开。如何做到这一点?

谢谢

0 投票
1 回答
639 浏览

php - RabbitMQ PHP 用于动态消息更新

我正在学习 RabbitMQ,并考虑使用它为用户提供“动态消息”更新,就像 facebook 提供来自朋友的动态消息一样。

我的想法是:

  1. 每当创建用户时,我将创建一个名称为用户的 userId 的队列,因此队列名称可以是“ 100_message_queue”(userId_message_queue)。

  2. 生产者将推送此队列中的所有更新。

  3. 从客户端(javascript),它将调用像 " GET http://example.com/getliveupdates/100" 这样的 REST API,然后我将从中获取所有新更新100_message_queue并将其作为响应发送。

我阅读了 RabbitMQ php 教程,但无法弄清楚这怎么可能?此外,消费者永远运行,所以我似乎无法发出任何 REST 请求。它给了我超时。

知道如何实现这种结构吗?

谢谢

0 投票
1 回答
1079 浏览

php - 如何在网络浏览器上使用 php-amqplib rabbitMQ

我正在尝试使用 php-amqplib 发送和接收消息。它可以在终端上发送/接收。但是当使用网络浏览器时,无法从队列中接收它会不断等待消息。我用下面的代码来接收.php

如果我使用下面而不是回调函数,它会从队列中获取第一条消息,但不从队列中消耗

这意味着消息在队列“test22”中可用。给我任何线索。