阅读(638) (7)

Laravel 8 分发队列

2021-07-06 09:24:59 更新

一旦编写了任务类,就可以使用任务本身的 dispatch 方法来分派它。传递给 dispatch 方法的参数将被传递给任务的构造函数:

<?php

namespace AppHttpControllers;

use AppHttpControllersController;
use AppJobsProcessPodcast;
use IlluminateHttpRequest;

class PodcastController extends Controller
{
    /**
     * Store a new podcast.
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        // Create podcast...

        ProcessPodcast::dispatch($podcast);
    }
} 

如果你希望有条件地分派任务,可以使用 dispatchIfdispatchUnless 方法:

ProcessPodcast::dispatchIf($accountActive === true, $podcast);

ProcessPodcast::dispatchUnless($accountSuspended === false, $podcast);