Laravel:如何检测代码是否正在排队作业中执行,而不是从 CLI 手动运行

ves*_*ght 5 laravel laravel-queue

我发现了这个类似的问题How to check If the current app process is running inside a queueenvironment in Laravel

但实际上这与我想要的相反。我希望能够区分从 CLI 上启动的 artisan 命令手动执行的代码,以及通过控制器或计划运行作为 POST 触发结果运行作业的时间

基本上我想区分作业何时通过 SYNC 驱动程序运行、由开发人员通过 CLI 输出手动触发,以及其他情况

app()->runningInConsole()在这两种情况下都返回 true,所以它对我来说没有用

还有其他方法可以检测到这一点吗?例如有没有办法检测当前使用的队列连接?请记住,可以在运行时更改队列连接,因此仅检查 env 文件的值是不够的