Використання нової функції Fair Queue від Amazon з SQS у Laravel 12.27

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 вересня, 2025
Laravel отримав оновлення до версії 12.27.0, яке принесло підтримку групових ідентифікаторів повідомлень у чергах SQS FIFO. Досліджуйте, які нові можливості з'явилися в рамках цього релізу та як вони можуть покращити ваші проекти у Laravel

Команда Laravel цього тижня випустила версію 12.27.0, яка додала підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS. Ідентифікатори груп дозволяють використовувати функцію справедливого чергування Amazon у SQS. Також версія 12.27 містить кілька нових можливостей — давайте розглянемо, що нового:

# Підтримка справедливих черг SQS

Міор Мухаммад Закі реалізував підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS у Pull Request #56763. Це дозволяє драйверу черг SQS у Laravel використовувати функцію справедливих черг від Amazon.

ProcessOrder::dispatch($order)
    ->onGroup("customer-{$order->customer_id}");

Документація Laravel була оновлена з детальною інформацією про FIFO-черги SQS та справедливі черги. Додаткова інформація доступна у документації Amazon SQS.

# Додано опцію prepend до Str::plural()

Кейсі Двайер додала можливість додавання кількості перед використанням методу Str::plural().

We had {{ number_format($attendees->count()) . ' ' . Str::plural('attendee', $attendees->count()) }} at Laracon 2025.
 
{{-- Використовуючи параметр `prependCount` --}}
We had {{ Str::plural('attendee', $attendees->count(), prependCount: true) }} at Laracon 2025.

# Pretty JSON приймає параметри

Лукас Міхот додав можливість передавати додаткові параметри методу prettyJson(), що надає розробникам більше контролю над кодуванням під час використання цього методу:

$data->prettyJson(['foo' => 'bar'], JSON_UNESCAPED_UNICODE);

# Підтримка значень Enum у методах Collection countBy та groupBy

Єспер Нордзай реалізував підтримку значень enum у методах Collection countBy та groupBy шляхом їх перетворення на рядки або цілі числа в якості ключів масиву:

collect([
    ['key' => TestBackedEnum::A],
    ['key' => TestBackedEnum::B], ['key' => TestBackedEnum::B],
])
    ->countBy('key')
    ->all(); // [1 => 1, 2 => 2];

# Примітки до релізу

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

# v12.27.0