Призупинення черги на вказану кількість секунд у Laravel 12

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 02 грудня, 2025
В останньому оновленні Laravel v12.40.2 з'явилася можливість паузи черги на визначений час. Дізнайтеся, як легко реалізувати це за допомогою нового методу pauseFor, щоб оптимізувати ваші процеси!

Команда Laravel випустила патч-версію v12.40.2, яка дозволяє ставити чергу на паузу на вказаний період. Після випуску Laravel 12.40, де була введена можливість безкінечного паузування та відновлення черги, тепер ви можете задати тривалість паузи у секундах:

PR ~#57800~ додав метод QueueManager@pause(), який дозволяє паузити задану чергу.

Цей метод ставить чергу на паузу безмежно, використовуючи метод store forever() кешу.

Відновити чергу можна лише через метод QueueManager@resume(), що також додано в тому ж PR...

[Цей PR] додає метод QueueManager pauseFor(), який дозволяє вказати тривалість паузи в секундах.

Щоб встановити паузу для черги на вказану кількість секунд програмно, можна скористатися Queue (сервіс queue) та методом pauseFor():

Queue::pauseFor(connection: 'redis', queue: 'default', ttl: 30);

Додаткові деталі можна знайти в Pull Request #57917.

У минулому тижні, в невеликій версії v12.40.0, ви також отримали можливість паузити чергу через командний рядок, використовуючи назву з'єднання і назву черги:

# connection_name:queue_name
php artisan queue:pause database:default
 
php artisan queue:continue database:default

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

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

# v12.40.2

# v12.40.1