Выполнение файла 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 или службы демонов?

0 ответов

Другие вопросы по тегам