2019-11-16 10:21:14 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Traits;
|
|
|
|
|
|
|
|
trait Jobs
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Dispatch a job to its appropriate handler.
|
|
|
|
*
|
|
|
|
* @param mixed $job
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function dispatch($job)
|
|
|
|
{
|
2019-12-22 15:58:48 +03:00
|
|
|
$function = $this->getDispatchFunction();
|
2019-11-16 10:21:14 +03:00
|
|
|
|
|
|
|
return $function($job);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Dispatch a command to its appropriate handler in the current process.
|
|
|
|
*
|
|
|
|
* @param mixed $job
|
|
|
|
* @param mixed $handler
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function dispatchNow($job, $handler = null)
|
|
|
|
{
|
|
|
|
$result = dispatch_now($job, $handler);
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
2019-12-22 15:58:48 +03:00
|
|
|
public function getDispatchFunction()
|
2019-11-16 10:21:14 +03:00
|
|
|
{
|
|
|
|
$config = config('queue.default');
|
|
|
|
|
|
|
|
return ($config == 'sync') ? 'dispatch_now' : 'dispatch';
|
|
|
|
}
|
|
|
|
}
|