运行 artisan queue:work 附加参数
Running artisan queue:work with additional arguments
我正在尝试 运行 排队作业,并通过命令行传递其他参数。我的用例是这样的:
我有 4 个 运行ning queue:work
进程通过主管。我队列中的作业都需要访问代理服务器,通过它我在任何给定时间只能有 4 个进程 运行ning。当我启动排队作业时,我必须找到当前未使用的进程号(1 到 4),然后 运行 我的命令通过该进程。
我一直在使用数据库 table 来存储进程,它有一个 in_use
的列来跟踪它是否被使用,但我看到的问题是当两个queue:work
同时命令 运行,可以从数据库中为两者选择相同的代理进程。
我想要的
php artisan queue:work --process=1
然后以某种方式在作业中检索该参数,这样我就可以 运行 我的 4 个进程分别在主管中。
作为解决方法,我创建了一个自定义的 artisan 命令,它将接受参数,但随后我失去了队列功能。我不想开发自定义队列进程。
有没有办法传递这个参数?或者,有没有一种方法可以让我从我的自定义 artisan 命令中将作业从队列中弹出,然后手动 运行 它们而不是通过 queue:work
?
这个问题可以通过使用专用队列来解决。所以每个队列都有一个特定的代理进程附加到它。唯一剩下的就是创建一个 function/process 来确定进程应该进入哪个队列。
https://laravel.com/docs/5.1/queues#pushing-jobs-onto-the-queue
查看部分:为作业指定队列
我正在尝试 运行 排队作业,并通过命令行传递其他参数。我的用例是这样的:
我有 4 个 运行ning queue:work
进程通过主管。我队列中的作业都需要访问代理服务器,通过它我在任何给定时间只能有 4 个进程 运行ning。当我启动排队作业时,我必须找到当前未使用的进程号(1 到 4),然后 运行 我的命令通过该进程。
我一直在使用数据库 table 来存储进程,它有一个 in_use
的列来跟踪它是否被使用,但我看到的问题是当两个queue:work
同时命令 运行,可以从数据库中为两者选择相同的代理进程。
我想要的
php artisan queue:work --process=1
然后以某种方式在作业中检索该参数,这样我就可以 运行 我的 4 个进程分别在主管中。
作为解决方法,我创建了一个自定义的 artisan 命令,它将接受参数,但随后我失去了队列功能。我不想开发自定义队列进程。
有没有办法传递这个参数?或者,有没有一种方法可以让我从我的自定义 artisan 命令中将作业从队列中弹出,然后手动 运行 它们而不是通过 queue:work
?
这个问题可以通过使用专用队列来解决。所以每个队列都有一个特定的代理进程附加到它。唯一剩下的就是创建一个 function/process 来确定进程应该进入哪个队列。
https://laravel.com/docs/5.1/queues#pushing-jobs-onto-the-queue
查看部分:为作业指定队列