Використання умовних методів Ping у Laravel для моніторингу завдань

Перекладено ШІ 1 Laravel News 03 червня, 2026

Laravel пропонує потужні методи умовного моніторингу для планувальника, що дозволяє вибірково контролювати заплановані завдання вашого застосунку. Ознайомтеся, як ці нові функції можуть значно покращити контроль за виконанням ваших задач у статті!

Laravel впроваджує потужні умовні методи пінгування для планувальника, які дозволяють вам вибірково контролювати заплановані задачі у вашому застосунку. Ці методи надають гнучкі можливості для сповіщення, залежно від ваших конкретних умов.

Ось базовий приклад, як можна умовно сповіщати служби моніторингу:

Schedule::command('backup:run')->hourly()
    ->pingBeforeIf($condition, $url . '/starting')
    ->pingOnSuccessIf($condition, $url . '/finished')
    ->pingOnFailureIf($condition, $url . '/failed');

Далі наведено приклад налаштування моніторингу, специфічного для середовища, у складному застосунку:

class ApplicationScheduler
{
    public function configure()
    {
        // Визначення середовища
        $isProd = app()->environment('production');
        $isDev = app()->environment('development', 'local');
        $monitoringUrl = config('services.monitoring.url');
 
        // Синхронізація даних клієнтів
        Schedule::job(new SyncCustomerData)
            ->dailyAt('03:30')
            ->pingBeforeIf($isProd, "{$monitoringUrl}/sync/customers/start")
            ->pingOnSuccessIf($isProd, "{$monitoringUrl}/sync/customers/success")
            ->pingOnFailureIf($isProd || $isDev, "{$monitoringUrl}/sync/customers/error");
 
        // Обробка аналітики
        Schedule::command('analytics:process')
            ->hourlyAt(15)
            ->pingBeforeIf($isProd && now()->isWeekday(), "{$monitoringUrl}/analytics/start")
            ->pingOnSuccessIf($isProd && now()->isWeekday(), "{$monitoringUrl}/analytics/complete")
            ->pingOnFailureIf(true, "{$monitoringUrl}/analytics/failed");
 
        // Перевірка стану системи
        Schedule::command('system:health-check')
            ->everyFiveMinutes()
            ->pingOnFailureIf(true, "{$monitoringUrl}/system/health-check-failed");
    }
}

Ці умовні методи сповіщення забезпечують детальний контроль за моніторингом задач, дозволяючи вам вибірково сповіщати системи моніторингу залежно від середовища, часу або стану застосунку

Популярні

Інше, що варто прочитати

12 Оновлено 02 червня, 2026

Удосконалюйте свої проєкти Laravel за допомогою справжнього штучного інтелекту для кодування з Laravel Boost!

Готові підняти свій робочий процес у Laravel на новий рівень? У цій статті я розгляну Laravel Boost, інноваційний AI-допомічник для програмування, який зробить вашу розробку швидшою та продуктивнішою

18 Оновлено 02 червня, 2026

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю

37 Оновлено 02 червня, 2026

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку