gpt4 book ai didi

laravel - 如何检查 Laravel 队列中是否有作业?

转载 作者:行者123 更新时间:2023-12-02 14:32:41 26 4
gpt4 key购买 nike

情况如下:

我有一个 Laravel 4.2 应用程序,可以(从第三方 API)检索 Assets 。这是一个长期存在的 Assets (它每 12-24 小时才更改一次)并且有点耗时(一个大图像文件)。我确实缓存了 Assets ,因此影响或多或少已被最小化,但仍然存在这样的情况:早上第一个登录我的应用程序的人必须等待应用程序第一次加载 Assets 。

我已经设置了一个作业,该作业将排队并每八小时运行一次。这应该确保缓存中的资源始终是新鲜的。它的工作原理是在作业运行后八小时后将其重新排队。

问题是这样的:我即将将此作业系统部署到生产中,并且我不确定如何首次运行此系统。

理想情况下,我希望有一个管理选项,其中有一个按钮,上面写着“单击此处提交作业”,但我想让它尽可能万无一失并防止人们(我不是唯一的管理员)避免多次提交作业。然而,要做到这一点,应用程序需要检查作业是否已经在队列中。我找不到一种方法以独立于实现的方式执行此操作(我正在使用 redis,但这将来可能会改变)。

另一个选择是添加一个artisan命令来运行初始进程。这样我就可以部署应用程序,运行 artisan 命令,然后就不用管它了。

所以,回顾一下,我有两个问题:

  1. 有没有办法检查队列以查看其中有哪些作业?

  2. 有更好的方法吗?

谢谢

最佳答案

当一个作业在 Laravel 队列中时,它会保存在 jobs 表中,以便您可以通过 DB 进行检查。

关于laravel - 如何检查 Laravel 队列中是否有作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28590992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com