Вернуть данные из Laravel Jobs
Laravel 7 и ранее
Если вы используете драйвер php5 очереди, отличный отsync
и вы php используете Laravel версии laravel 7 или более ранней, вы можете php-frameworks использовать подход @Denis Mysenko и методdispatchNow
phtml чтобы получить данные от php-fpm объекта Job о том, что он task-queue работает.
Laravel 8
Однако в Laravel php версии 8dispatchNow
метод устарел в laravel пользуdispatchSync
. Но этот новый метод php-cli создает новый экземпляр задания, и php-frameworks вы не сможете получить доступ task-queue к этому новому экземпляру php-errors или каким-либо его свойствам php-frameworks из клиентского скрипта.
Решение
Но, согласноthe rodrigo.pedra's answer, если task-queue вы удалитеIlluminate\Bus\Queueable
черта с работы, вы php-include сможете вернуть данные с php-namespaces работыhandle
метод и используйте laravel этот результат в своем клиентском php-session скрипте.
, если в задании laravel не используется
Queueable
trait, возврат php-mail метода handle будет доступен php-cli запросу при использованииdispatchSync
php-mail - видетьthis answer.
apiActionName = $apiActionName;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
// operations generating result
$result = $someService->{$this->apiActionName}();
return $result;
}
}
в клиентском скрипте
public function someAction()
{
$result = MyJob::dispatchSync($apiActionName);
return response()->json($result);
}
Примечание.dispatchSync
метод php.ini такой же, как при использованииdispatch()->onQueue('sync')
php-errors что заставит систему очередей php-include использоватьsync
драйвер, немедленно php5 запустив задание.
php
laravel
api-design
task-queue
Вернуть данные из Laravel Jobs
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.