Laravel Haystack — це пакет для чудово простих, але потужних ланцюжків завдань, керованих базами даних. Ось огляд того, що доступно, взято з readme пакета:За допомогою цього пакета ви зберігаєте ланцюжки завдань у базі даних, що допомагає знизити споживання пам’яті та підтримує всі типи черги Laravel із коробки. Деякі з інших основних функцій включають:
- Low memory consumption as one job is processed at a time and the chain is stored in the database
- You can delay/release jobs for as long as you want since it will use the scheduler to restart a chain. Even if your queue driver is SQS!
- It provides callback methods like
then
,catch
andfinally
- Global middleware that can be applied to every single job in the chain
- Delay that can be added to every job in the chain
- You can store and retrieve data/state that is accessible to every job in the chain.
- You can store the model for later processing.
Ви можете робити досить цікаві речі, як-от призупиняти стоги сіна, якщо ваш ланцюжок завдань викликає API і досягає обмежень швидкості. Хоча Laravel має ланцюжки завдань, я думаю, що вам варто розглянути цей пакет для групових завдань. Перегляньте файл readme, щоб дізнатися більше про те, чим цей пакет відрізняється від вбудованих можливостей ланцюга.
Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення, і перегляньте вихідний код на GitHub.