В настоящее время я создаю очередь для процесса, используя базу данных в laravel для обработки видео через API. Продолжительность моего видео 5 минут. Однако моя работа потерпит неудачу после истечения 60 секунд.
Я уже установил переменную для тайм-аута очереди, так или иначе, он по-прежнему превышает 60 секунд.
namespace App\Jobs;
class ProcessVideo implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $tries = 3;
public $timeout = 300;
private $fileUrl;
private $user;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($fileUrl,$user)
{
//
$this->fileUrl = $fileUrl;
$this->user = $user;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//process webm to text
$client = new Client([
'base_uri' => 'https://stream.watsonplatform.net/'
]);
$audio = fopen($this->fileUrl , 'r');
$resp = $client->request('POST', 'speech-to-text/api/v1/recognize', [
'auth' => ['myth', 'apikey'],
'headers' => [
'Content-Type' => 'audio/webm',
],
'body' => $audio
]);
$resp = $resp->getBody();
event(new SoundSpeech($resp,$this->user));
}
}
Я ожидаю, что очередь завершится успешно после завершения запроса API. почему-то моя работа всегда терпит неудачу из-за таймаута Мне нужно настроить тайм-аут из моего php.ini? или мне нужно использовать время ожидания очереди для laravel?