Laravel的数据库作业链扩展包:laravelhaystack

Laravel Haystack 是一个允许你在数据库中存储作业链的包。

由于链中的所有作业都在数据库中,内存使用率很低,您可以长时间延迟作业或长时间运行作业,而不会冒险使用所有内存。

Laravel Haystack 开箱即用地支持每个队列连接/工作者。(数据库、Redis/Horizon、SQS)。

$haystack = Haystack::build()   ->withName('Podcast Chain')   ->addJob(new RecordPodcast)   ->addJob(new ProcessPodcast)   ->addJob(new PublishPodcast)   ->then(function () {      // Haystack完成   })   ->catch(function () {      // Haystack失败   })   ->finally(function () {      // 总是在成功或失败时运行.   })   ->paused(function () {      // 如果 haystack 暂停则运行   })   ->withMiddleware([      // 适用于每项工作的中间件   ])   ->withDelay(60) // 为每个作业添加延迟   ->dispatch();