php-amqplib使用AMQPChannel类的queue_declare函数来生成一个消息队列,其函数的完整定义为
public function queue_declare( $queue = '' , $passive = false , $durable = false , $exclusive = false , $auto_delete = true , $nowait = false , $arguments = array (), $ticket = null )
各个函数的详细说明,请看下表
参数 | 默认值 | 详细说明 |
---|---|---|
$queue |
字符串,"" | 队列名称,唯一 |
$passive | false | 被动模式,为true时,如果$queue不存在,则返回错误(不创建队列,只是检测队列是否存在),为false时,如果$queue不存在,则创建此队列,然后返回OK |
$durable |
false | 队列永久化,为true时,消息将存入数据库,即使服务崩溃,消息也不会消失 |
$exclusive | false | 排他性,为true时,只能在本次连接中使用,连接关闭时自动消亡(即使$durable为true也是) |
$auto_delete | true | 自动消亡,为true时,当队列不再有订阅者时,会自动消亡 |
$nowait | false | 异步执行,为true时,不等待队列创建结果,立即完成函数调用 |
$arguments | array() | 设定消息队列的额外参数,如存活时间等 |
$ticket | null | 传0或null即可 |