Php RabbitMQ在SIGINT上停止循环

Php RabbitMQ在SIGINT上停止循环,php,rabbitmq,signals,Php,Rabbitmq,Signals,我使用rabbitMQ与手动显示()完全相同 但是,当我想终止我的worker时,我在控制台中按Ctrl+c,worker会得到SIGINT信号。问题是,如果队列中没有消息,$channel->wait()方法永远不会进入下一次迭代,因此除非我使用kill-9终止它,否则无法终止它。那么我如何用SIGINT终止这个无休止的循环呢 while(count($this->channel->callbacks)) { $this->channel->wait(); }

我使用rabbitMQ与手动显示()完全相同

但是,当我想终止我的worker时,我在控制台中按Ctrl+c,worker会得到SIGINT信号。问题是,如果队列中没有消息,$channel->wait()方法永远不会进入下一次迭代,因此除非我使用kill-9终止它,否则无法终止它。那么我如何用SIGINT终止这个无休止的循环呢

while(count($this->channel->callbacks)) {
    $this->channel->wait();
}