处理超时异常队列Laravel

时间:2019-01-08 06:31:12

标签: database laravel queue

目前,我正在使用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使用队列超时?

0 个答案:

没有答案