Laravel Ononeserver () Метод планировщика задач с помощью PHP Artisan Cache: ClearPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel Ononeserver () Метод планировщика задач с помощью PHP Artisan Cache: Clear

Сообщение Anonymous »

Мое приложение Laravel стоит за балансировщиком нагрузки, а 2 экземпляра EC2 работают одновременно. До того, как я управлял Cronjob только на одном сервере, но это не идеальный способ, потому что, если нагрузка увеличилась или что -то необычное ошибку произойдет, и если 3 -й экземпляр EC2 инициализируется, то Cronjob начнется и на этом сервере, и мой Cronjob выполняет критическую задачу, такую ​​как заряд полосы или истекает Подписки, и если оба сервера выполняют задачу Cronjob, то пользователь будет взимать плату за несколько раз. Я изменил свой драйвер кэша по умолчанию с файла на Redis в .env file. Cache_driver = redis и в консоли/kernel.php добавлено метод Ononeserver, подобный этому.

Код: Выделить всё

$schedule->command('subscription:autorenew')->everyMinute()->withoutOverlapping()->onOneServer();
Теперь даже на обоих серверах включен Crontab, который выполняет задачу только на одном сервере, но мой конвейер развертывания имеет командный PHP Artisan Cache: Clear из -за этого блокировки выпускается даже задача находится в процессе, и второй сервер также начинает выполнять одну и ту же задачу в одно и то же время. Используйте REDIS для распределенного блокировки, чтобы PHP Artisan Cache: Clear Не влияйте на блокировку кэша Redis?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -cacheclea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»