运行工匠队列:使用其他参数



我正在尝试运行排队的作业,并通过命令行传递其他参数。 我的用例是这样的:

我有 4 个通过主管运行queue:work进程。 我的队列中的作业都需要访问代理服务器,通过代理服务器,我在任何给定时间只能运行 4 个进程。 当我启动排队作业时,我必须找到当前未使用的进程编号(1 到 4(,然后通过该进程运行我的命令。

我一直在使用数据库表来存储进程,它有一个用于in_use的列,用于跟踪它是否被使用,但我看到的问题是当两个queue:work命令同时运行时,可以从数据库中为两者选择相同的代理进程。

我想要什么

php artisan queue:work --process=1

然后以某种方式在作业中检索该参数,以便我可以分别在主管中运行我的 4 个进程。

作为一种解决方法,我创建了一个自定义工匠命令,该命令将接受参数,但随后我将失去队列功能。 我不想开发自定义队列进程。

有没有办法通过这个论点? 或者,或者,有没有办法让我从我的自定义工匠命令中弹出队列中的作业,然后手动运行它们而不是通过queue:work

这个问题可以通过使用专用队列来解决。因此,每个队列都附加了一个特定的代理进程。剩下的唯一事情就是创建一个函数/进程来确定进程应该进入哪个队列。

https://laravel.com/docs/5.1/queues#pushing-jobs-onto-the-queue

查看部分:指定作业的队列

相关内容

  • 没有找到相关文章

最新更新