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

Метод runInBackground

Метод runInBackground применяется к задаче планировщика Laravel и указывает, что задача должна выполняться в фоновом режиме. Он позволяет запускать команды или задания без ожидания их завершения, что особенно полезно для длительных операций. Метод не принимает параметров и возвращает тот же экземпляр задачи для цепочки вызовов.

Синтаксис

<?php $schedule->command('your:command') ->runInBackground(); ?>

Пример

Давайте запланируем выполнение команды send:reports ежедневно в фоновом режиме:

<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->command('send:reports') ->daily() ->runInBackground(); } } ?>

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

"Schedule update successful"

Пример

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

<?php namespace App\Console; use App\Jobs\ProcessData; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->job(new ProcessData()) ->everyFiveMinutes() ->runInBackground(); } } ?>

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

"Job scheduled successfully"

Пример

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

<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use Illuminate\Support\Facades\Log; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->call(function () { Log::info('Background task executed'); \DB::table('analytics')->insert([ 'event' => 'scheduled_task', 'created_at' => now() ]); })->hourly() ->runInBackground(); } } ?>

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

"Background scheduler initialized"

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

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