Команда 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: