如何将作业分派给Laravel中的不同队列提供者

时间:2017-11-13 13:45:16

标签: php laravel laravel-5 jobs amazon-sqs

在我的api中我使用Redis来缓存来自我的控制器的调度作业:这就是我的控制器看起来的样子

class FormSubmissionsController extends Controller
{
    /**
     * @param StoreRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function store(StoreRequest $request, FormSubmission $formSubmission)
    {

        JobStore::dispatch($formSubmission, $request->get('tracking_code'), $request->get('form'));

        return response()->json([
            'id' => $formSubmission->id
        ]);
    }
}

一切正常,我使用redis所做的唯一更改是dot env文件中的一些配置变量。我的问题:

在另一个控制器中,我想对排队的作业使用一些Amazon SQS服务,任何想法如何配置队列以及如何将每个作业分派给特定的队列处理程序?

1 个答案:

答案 0 :(得分:2)

您可以使用 onConnection()方法选择应该用于分派作业的连接:

JobStore::dispatch()->onConnection('sqs');

有关详细信息,请参阅https://laravel.com/docs/5.5/queues#dispatching-jobs