РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1357 of 1392 menu

Метод environments

Метод environments применяется к объекту события в планировщике Laravel и позволяет указать, в каких окружениях (средах) данная задача может выполняться. Это полезно для предотвращения случайного запуска критических задач в неподходящих окружениях, например, очистки базы данных в боевом окружении.

Синтаксис

<?php $schedule->command($command) ->environments($env1, $env2); ?>

Метод принимает одно или несколько строковых значений, представляющих собой имена окружений, в которых задача может быть выполнена. Если окружение не совпадает ни с одним из переданных значений, задача будет пропущена.

Пример

Давайте настроим выполнение команды очистки кэша только в локальном окружении:

<?php use Illuminate\Support\Facades\Schedule; Schedule::command('cache:clear') ->daily() ->environments('local'); ?>

Пример

Давайте запланируем задачу резервного копирования, которая должна выполняться в локальном и тестовом окружениях, но никогда в боевом:

<?php use Illuminate\Support\Facades\Schedule; Schedule::command('backup:run') ->weekly() ->environments('local', 'staging'); ?>

Пример

Давайте настроим выполнение замыкания только в боевом окружении с использованием метода call:

<?php use Illuminate\Support\Facades\Schedule; Schedule::call(function () { // Отправить отчёт о продажах echo "Sales report sent."; }) ->dailyAt('09:00') ->environments('production'); ?>

Результат выполнения кода в боевом окружении:

"Sales report sent."

Пример

Давайте рассмотрим полный пример использования environments внутри файла консольных маршрутов с несколькими задачами:

<?php use Illuminate\Support\Facades\Schedule; // Выполнять только в локальном окружении Schedule::command('migrate:fresh') ->daily() ->environments('local'); // Выполнять в локальном и тестовом окружении Schedule::command('telescope:prune') ->hourly() ->environments('local', 'staging'); // Выполнять только в боевом окружении Schedule::command('backup:run') ->daily() ->environments('production'); ?>

Смотрите также

  • метод daily,
    который задаёт ежедневное выполнение задачи
  • метод hourly,
    который задаёт ежечасное выполнение задачи
  • метод withoutOverlapping,
    который предотвращает повторный запуск задачи
  • метод timezone,
    который задаёт часовой пояс для запланированной задачи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить