maxAttemptsExceededException:Laravel作业由于最大尝试次数或超时而失败

时间:2019-02-14 06:15:19

标签: php laravel laravel-queue laravel-jobs

我检查了之前提出的问题,但没有找到所需的解决方案。这是问题清单, Laravel & Laravel Forge returns “MaxAttemptsExceededException:” even when tries are set at 1Asynchronous Laravel JobsLaravel job overwriting other jobs?

我正在尝试在按钮单击事件上使用Laravel作业借助FFMPEG转换所有视频(也许以MB或GB为单位)。

不使用Job,代码可以正常工作。

这是Controller的代码示例,

public function uploadSelected(Request $request)
{
    $input = $request->all();
    $ids = explode(',', $input['ids']);
    $this->dispatch(new FTPConverting($ids, 0));
    return redirect()->to('videos/ftp-videos');
}

在工作中,手柄就像这样

public function handle()
{
    foreach ($this->videos as $id) {
        if (file_exists(storage_path('app/public/temp_videos/' . $id))) {
            copy(storage_path('app/public/temp_videos/' . $id), storage_path('app/public/temp_videos/uploaded/' . $id));
            $video = TempVideo::create([
                        'original_name' => $id,
                        'disk' => 'public',
                        'video_path' => 'temp_videos/uploaded/' . $id
            ]);
            $this->video_without_watermark($video->video_path, $video->id, $video->disk);
            $this->streaming_without_watermark($video->video_path, $video->id, $video->disk);
            if ($video->upload_status == 'Converted') {
                unlink(storage_path('app/public/temp_videos/' . $id));
                unlink(storage_path('app/public/temp_videos/uploaded/' . $id));
            }
        }
    }
}

video_without_watermarkstreaming_without_watermark函数中,有使用FFMPEG来转换文件的逻辑。

请让我知道我在做什么错或可能的解决方法。

修改 作业表失败的日志

  

Illuminate \ Queue \ MaxAttemptsExceededException:App \ Jobs \ FTPConverting尝试了太多次或运行了太长时间。该作业可能先前已超时。在/var/www/html/screwbox/vendor/laravel/framework/src/Illuminate/Queue/Worker.php:401

0 个答案:

没有答案