簡體   English   中英

在PHP AMQPQueue :: consume()中使用xdebug

[英]Using xdebug in PHP AMQPQueue::consume()

我們正在使用RabbitMQ,並希望在使用者內部使用xdebug。 我們正在使用AMQPQueue來監聽隊列中的消息。 我最多可以使用xdebug達到AMQPQueue::consume()但是一旦調用AMQPQueue::consume() consume() ,我將無法獲得斷點。 任何幫助都會很棒。

AMQPQueue::consume(callable $callback = null, $flags = AMQP_NOPARAM, $consumerTag = null)在C( amqp_queue.c:816 )中實現,並且當新消息出現時( amqp_queue.c:908 )(以AMQP)調用回調函數$callbackamqp_queue.c:963 )。 如果您在回調函數中設置了斷點,則在調用該回調時,xdebug將在其上停止。

引擎蓋下有無限循環,可阻止套接字讀取,可讀取通道上的所有內容,如果有消息,則將其傳遞給回調。 僅當發生某些異常(包括在回調中)並且返回布爾布爾值false時,該循環才會中斷。

當通道上沒有消息時, consume()函數將運行並阻塞主要的PHP執行線程,因此看起來應用程序已掛起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM