Выполнение файла slave.php с помощью crontab против демона
Мы решили использовать Redis в качестве брокера сообщений для нашего относительно небольшого проекта, и информация о том, как настроить и использовать Redis в рабочей среде, минимальна. Мы используем Redis на AWS. Я ознакомился с этим примером: https://redis4you.com/code.php?id=012 и проверил локально на сервере redis, и все работает нормально.
Однако мы разрываемся между использованием сервиса crontab и daemon и не совсем уверены, какой из них лучший, хотя внедрение cron - самое простое. Я исследовал общепринятый способ, но ничего не видел.
Использование crontab означает, что в какой-то момент мне придется выйти из файла Slave.php с фрагментом, ниже которого я не совсем доволен
public function processMessageInQueue(){
while(!is_null($message_id = $this->predis->lpop("queue:message"))){
$message = $this->predis->hgetall("message:$message_id");
// Delete the key
$this->predis->del("message:$message_id");
// Process the message...
$message = json_decode($message['message_data'], 1);
$this->processMessage((array)$message);
}
exit(0);
}
Есть ли лучший способ сделать это или это нужно делать с помощью cron или службы демонов?