Laravel 队列中的作业将按什么顺序执行?

Los*_*die 2 php queue asynchronous symfony laravel

Laravel 队列是异步的还是同步的?例如,如果我添加 2 个作业,它将如何执行?

1)同步:

job #1 started
job #1 finished
job #2 started
job #2 finished
Run Code Online (Sandbox Code Playgroud)

2)或异步:

job #1 started
job # 2 started
job #1 finished
job #2 finished
Run Code Online (Sandbox Code Playgroud)

如果它同步,我怎样才能使它异步(如 2)

Joe*_*inz 5

Laravel 的队列系统允许多个 worker,这意味着您可以并行运行任务,但每个 worker 将同步分配作业。如果您只有一名工作人员在运行,则它将一次只处理一项工作。

按照您想要的顺序处理队列的最简单方法是使用多个队列名称,例如“高”、“低”、“中”等,然后告诉您的工作人员按顺序处理它们 - 例如这个:

php artisan queue:listen --queue=high,low
Run Code Online (Sandbox Code Playgroud)