php - Laravel 5.1 - Return Data from Jobs? -


i'm starting use jobs in laravel 5.1 , wondering if it's practice return data job? haven't seen examples of that, here's scenario. lets internal messaging system between users:

// controller method  public function store(request $request) {      if (!$this->messagevalidator->isvalid($request->all())) {           return redirect()->back()->withinput()->witherrors($this->messagevalidator->geterrors());       }        $this->dispatchfrom(postmessage::class, $request, [ 'user' => auth::user() ]);        return redirect('messages'); } 

so job take request data , user, , perform several tasks

// in postmessage job  public function handle( // dependencies here)  {        // create new thread        //  add message database        // store recipients of message in database         // send email notifications involced       return $message_id; } 

at end of handle() method, returned $message_id can use redirect in controller:

return view('messages.show', $message_id); 

is acceptable practice, or jobs meant perform tasks in more isolated manner?

or perhaps not use of jobs?

normally jobs used things might want queue run in background (asynchronously), it's bit odd receive return value them.

i move database saving elsewhere, , use job email notifications:

// controller method  public function store(request $request, messageguru $messageguru) {     if (!$this->messagevalidator->isvalid($request->all())) {         return redirect()->back()->withinput()                    ->witherrors($this->messagevalidator->geterrors());     }      $messageid = $messageguru->store($request->all());      $this->dispatchfrom(postmessage::class, $request, [ 'user' => auth::user() ]);      return view('messages.show', $messageid); }  // messageguru class messageguru {      public function store ($input) {         //  add message database          // store recipients of message in database      } }  // in postmessage job public function handle() {     // send email notifications involved } 

i did check laravel source code, , return value job indeed returned if job isn't queued, using jobs way restrict refactoring queued job later.


Comments

Popular posts from this blog

yii2 - Yii 2 Running a Cron in the basic template -

asp.net - 'System.Web.HttpContext' does not contain a definition for 'GetOwinContext' Mystery -

wso2esb - How to concatenate JSON array values in WSO2 ESB? -