Выполнение файла slave.php с помощью crontab против демона - PullRequest
0 голосов
/ 11 октября 2018

Мы решили использовать 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 или daemon?

...