Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Iron IO-Laravel队列管理_Php_Laravel_Laravel 4 - Fatal编程技术网

Php Iron IO-Laravel队列管理

Php Iron IO-Laravel队列管理,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在使用IronIO和Laravel4.2将视频发布到Vimeo 我的过程是 用户上传视频 队列管理器在后台启动并上载视频 然后应用程序会发布到社交媒体上 我已经完成了第1部分和第2部分,但第3部分有点棘手,不知道为什么 我的队列返回代码如下所示: Event::listen('file.encode', function($data) { //create a new job $j = new Job(); $j->status = 'queued';

我正在使用IronIO和Laravel4.2将视频发布到Vimeo

我的过程是

  • 用户上传视频
  • 队列管理器在后台启动并上载视频
  • 然后应用程序会发布到社交媒体上
  • 我已经完成了第1部分和第2部分,但第3部分有点棘手,不知道为什么

    我的队列返回代码如下所示:

    Event::listen('file.encode', function($data)
    {
        //create a new job
        $j = new Job();
        $j->status = 'queued';
        $j->save();
        $data['id'] = $j->id;
    
        Queue::push(function($job) use ($data)
        {
            // Set a NEW Path...
            $filePath = getcwd() .'/'. $data['post_media_path'];
    
            // Now Process The Vimeo Stuff....
            $upload = Vimeo::upload($filePath, false);
            $video_data = Vimeo::request($upload);
    
            if($video_data['status'] == 200)
            {
                $clip_id = str_replace(array("/", "videos"), "", $video_data['body']['uri']);
    
                // Now Save The Video Data...
                $post_media = PostMedia::find($data['post_media_id']);
                $post_media->vimeo_clip_id = $clip_id;
                $post_media->post_source = 'vimeo';
                $post_media->save();
    
                $ejob = Job::find($data['id']); // Find the job in database
                $ejob->status = 'finished'; //Set job status to finished
                $ejob->save();
    
                // Now Send To Videos Controller (To Deal With Social Media Posting - If User has it setup)...
                return Redirect::to('admin/post-social-media/'.$clip_id);
            }
        });
    
    });
    
    值得一提的是,如果我走这条路线:

    管理员/后社交媒体/1176758

    所有的数据都会发布到社交媒体上,所以它是有效的。但我正在做一个调试路由代码的噩梦。我是否在重定向或类似方面做错了什么


    谢谢

    您的作业将在后台队列中执行。返回重定向响应将没有任何用处,因为此进程正在“其他地方”运行(讽刺),例如,您不再作为客户端访问它。谢谢@Luceos关于如何运行该进程的任何建议?直到队列管理器运行之后,我才恢复Vimeo ID,是的,所以要么让页面等待(轮询)任务准备就绪,要么在任务完成后通知用户。