一、以下書寫是可以自動正常消費的
public function onWorkerStart()
{
//這個在onWorkerStart里只執(zhí)行一次就行了,不用放到while循環(huán)里。
pcntl_signal(SIGINT, function () {
Worker::stopAll();
});
while (true) {
$receiptHandle = $res->getReceiptHandle();
$res = $queue->receiveMessage(30);
print ($res->getMessageBody());
$delete_action = $queue->deleteMessage($receiptHandle);
pcntl_signal_dispatch();
}
}
二:以下這樣書寫,無法自動消費,每次restart一次就消費一次
public function onWorkerStart()
{
//這個在onWorkerStart里只執(zhí)行一次就行了,不用放到while循環(huán)里。
pcntl_signal(SIGINT, function () {
Worker::stopAll();
});
while (true) {
$receiptHandle = $res->getReceiptHandle();
$res = $queue->receiveMessage(30);
print ($res->getMessageBody());
//一堆事務數(shù)據(jù)庫操作
$delete_action = $queue->deleteMessage($receiptHandle);
pcntl_signal_dispatch();
}
}
三、請問是“ //一堆事務數(shù)據(jù)庫操作”這部分代碼導致了無法自動消費嗎?應當如何修改