Драйвер черги з резервуванням у Laravel 12.34

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 16 жовтня, 2025
Цього тижня команда Laravel випустила версію 12.34.0, яка включає нові можливості, такі як драйвер звукової черги та покращення повнотекстового пошуку в Laravel Scout. Чи готові ви дізнатися про всі нововведення та вдосконалення? Читайте далі, щоб не пропустити жодну деталь

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

# Драйвер запасного черги

Тейлор Отвелл додав драйвер failover, який забезпечує автоматичний перехід на інший чергу у випадку збою основного з’єднання. Якщо основний драйвер не працює, запасний драйвер перенесе завдання до наступного налаштованого з’єднання

'failover' => [
    'driver' => 'failover',
    'connections' => [
        env('QUEUE_CONNECTION', 'database'),
        'sync',
    ],
],

Деталі реалізації можна знайти у Pull Request #57341. Також, щоб дізнатися, як налаштувати драйвер failover, перегляньте документацію по чергах

# Поліпшення повнотекстового пошуку в Laravel Scout

Тейлор Отвелл додав поліпшення повнотекстового пошуку для двигуна database в Laravel Scout. При використанні Postgres, якщо інший порядок не визначено, він автоматично використовує порядок за релевантністю, що відповідає поведінці MySQL

Якщо ви користуєтеся Laravel Scout, оновіть до останньої версії через Composer, щоб отримати ці нововведення. Деталі можна знайти у Pull Request #947

# Оновлення підтримки редакторів на локальній сторінці винятків

Група розробників додала підтримку нових посилань на редактори на локальній сторінці винятків. Ви можете налаштувати значення app.editor відповідно до підтримуваних посилань, знайдених у ResolvesDumpSource.php

Ось список нових редакторів, доданих у Laravel 12.34:

# Підтримка Closure для throw_if

Кріс Пейдж запропонував підтримку Closure для параметра винятку throw_if:

// Обгортка в Closure забезпечує виконання лише за умови істинності
throw_if($apiResponse instanceof CustomResponse, fn() => new \Exception($apiResponse->message));

# Метод defer для HTTP-пакетів

Венделл Адріель раніше додав метод пакетних запитів Http Client у Laravel 12.32. У цій версії він додав метод defer(), що дотримується аналогічного шаблону, використаного в Concurrency

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

Http::batch(fn (Batch $batch) => [
    $batch->get('https://example.com/endpoint-1'),
    $batch->get('https://example.com/endpoint-2'),
])->before(function (Batch $batch) {
    // Пакет створено, але запити ще не ініціалізовано...
})->progress(function (Batch $batch, int|string $key, Response $response) {
    // Один із запитів успішно завершено...
})->then(function (Batch $batch, array $results) {
    // Усі запити успішно завершено...
})->catch(function (Batch $batch, int|string $key, Response|RequestException $response) {
    // Виявлено невдачу першого запиту в партії...
})->finally(function (Batch $batch, array $results) {
    // Пакет завершив виконання...
})->defer();

Детальніше в Pull Request #57387

# Примітки до випуску

Повний список нових функцій і оновлень можна переглянути нижче, а також різницю між версіями 12.33.0 і 12.34.0 на GitHub. Наступні примітки до випуску безпосередньо з змін:

# v12.34.0

Популярні

Logomark Logotype

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

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

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше