作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经安装了 RabbitMQ Bundle。现在这是我想要做的:
Controller :创建Redis-List,将消息推送到客户端,然后将消息发送到队列中,因此可以异步执行较重的后台任务。
但我迷路了。
$msg = array('userid' => $someid);
$this->get('old_sound_rabbit_mq.task_example_producer')->publish(serialize($msg));
最佳答案
有点旧的帖子,但万一其他人来寻求帮助:
您似乎正在使用 old_sound 的 rabbitmq 包。它在这里有一些有用的教程类型的文档:https://github.com/videlalvaro/RabbitMqBundle
它帮助我开始在 symfony 中使用 rabbitmq。
简而言之:
1:您需要在 config.yml 文件中进行一些配置。例如:
# RabbitMQ Configuration
old_sound_rabbit_mq:
connections:
default:
host: 'localhost'
port: 5672
user: 'guest'
password: 'guest'
vhost: '/'
lazy: true
connection_timeout: 3
read_write_timeout: 3
# requires php-amqplib v2.4.1+ and PHP5.4+
keepalive: false
# requires php-amqplib v2.4.1+
heartbeat: 0
producers:
task_example:
connection: default
exchange_options: {name: 'task_example', type: direct}
consumers:
task_example:
connection: default
exchange_options: {name: 'task_example', type: direct}
queue_options: {name: 'task_example'}
callback: test_class
# My services
services:
test_class:
class: AppBundle\Testclasses\rabbittest\testclass
arguments: [@logger]
namespace AppBundle\Testclasses\rabbittest;
use OldSound\RabbitMqBundle\RabbitMq\ConsumerInterface;
use PhpAmqpLib\Message\AMQPMessage;
class testclass implements ConsumerInterface
{
private $logger; // Monolog-logger.
// Init:
public function __construct( $logger )
{
$this->logger = $logger;
echo "testclass is listening...";
}
public function execute(AMQPMessage $msg)
{
$message = unserialize($msg->body);
$userid = $message['userid'];
// Do something with the data. Save to db, write a log, whatever.
}
}
$msg = array('userid' => $someid);
$this->get('old_sound_rabbit_mq.task_example_producer')->publish(serialize($msg));
php app/console rabbitmq:consumer task_example
testclass is listening...
C:\wamp\www\symfony\my_project
关于Symfony2,RabbitMQ : I'm lost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30507384/
我是一名优秀的程序员,十分优秀!