它现在对我有用,但是我不确定这是否是正确的方法。现在,我正在捕获错误并在连接失败的情况下递归调用该函数。我的新slave.PHP看起来像这样:
function process_data()
{
try {
$client = new \Predis\Client();
require_once("logger.PHP");
while (true) {
list($queue, $message) = $client->brPop(["bookmark_queue"], 0);
// logic
}
} catch (Exception $ex) {
$error = $ex->getMessage();
log_error($error, "slave.PHP");
process_data(); // call the function recursively if connection fails
}
}
process_data(); // call the function