$mqConf = Config::getInstance()->getConf('rabbitmq');
//创建连接
$conn = new \AMQPConnection($mqConf);//连接 mq和channel
if(!$conn->connect()){//连接成功返回true
Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 连接失败', 'rabbitmq');
return false;
}
//创建channel
$channel = new \AMQPChannel($conn);
//创建交换机
$ex = new \AMQPExchange($channel);
//设置名字
$ex->setName('CREDITS_EXCHANGE');
//设置DIRECT类型
$ex->setType(AMQP_EX_TYPE_DIRECT);
//持久化
$ex->setFlags(AMQP_DURABLE);
//声明创建一个ex
$ex->declareExchange();
// 打印状态
//echo "exchange status:".$status . PHP_EOL;
//发送消息
$flag = $ex->publish($message, 'worker');
if(!$flag){
Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 消息发送失败失败', $uid);
}
//关闭连接
//创建连接
$conn = new \AMQPConnection($mqConf);//连接 mq和channel
if(!$conn->connect()){//连接成功返回true
Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 连接失败', 'rabbitmq');
return false;
}
//创建channel
$channel = new \AMQPChannel($conn);
//创建交换机
$ex = new \AMQPExchange($channel);
//设置名字
$ex->setName('CREDITS_EXCHANGE');
//设置DIRECT类型
$ex->setType(AMQP_EX_TYPE_DIRECT);
//持久化
$ex->setFlags(AMQP_DURABLE);
//声明创建一个ex
$ex->declareExchange();
// 打印状态
//echo "exchange status:".$status . PHP_EOL;
//发送消息
$flag = $ex->publish($message, 'worker');
if(!$flag){
Helper::writeLog(null, 'rabbitmq', 'error', 'rabbitmq 消息发送失败失败', $uid);
}
//关闭连接
$conn->disconnect();
如果希望绑定到队列 可执行以下代码
// 创建队列
$q = new AMQPQueue($channel);
$q->setName($q_name);
$q->setFlags(AMQP_DURABLE); //持久化
// $q->declareQueue(); // 同上
echo "queue status: ".$q->declareQueue();
echo "<br/>";
// $q->bind($e_name,$k_route);//将你的队列绑定到routin