Я делаю один проект, посвященный тестированию порталов. и у меня было что-то вроде этого в моем контроллере.
$process = new Process(['../app/Http/Controllers/shcheck.py', '-dj', $request->IP]);
try {
$process->mustRun();
while ($process->isRunning()) {
// waiting for process to finish
}
$headers = json_decode($process->getOutput(),true);
$data= array('title'=> $title,
'headers'=> $headers);
return view('pages.index')->with($data);
} catch (ProcessFailedException $exception) {
echo $exception->getMessage();
}
, но этот подход не масштабируемый, потому что некоторые мои тесты могут выполняться в течение минуты, поэтому я гуглил и обнаружил, что могу использовать события и слушателей, стек их в очередь, а не ждать, пока работа не будет завершена. но сейчас. У меня проблема, как передать переменную headders в FE после того, как слушатель завершит свою работу?
У меня есть это как blade-файл. php Файл, который я добавлял для просмотра
@if(isset($headers))
@if(count($headers)>0)
<div class="no-gutters border rounded overflow-hidden flex-md-row shadow-sm position-relative p-2 row">
<ul>
@foreach($headers as $head=> $head_value)
<li>{{$head}}</li>
<ul>
@foreach($head_value as $he=> $x_value)
@if(strlen($he)>3)
<li>{{$he}}: {{$x_value}}</li>
@endif
@if(strlen($he)<=3)
<li>{{$x_value}}</li>
@endif
@endforeach
</ul>
@endforeach
</ul>
</div>
@endif
@endif
Должен ли я нужно как-то включить Ajax для такой работы? или каков наилучший способ сделать это.