>백엔드 개발 >PHP 튜토리얼 >PHP 비동기 비디오 처리 문제가 있습니까? 하나님께 인도를 구하라

PHP 비동기 비디오 처리 문제가 있습니까? 하나님께 인도를 구하라

WBOY
WBOY원래의
2016-08-04 09:20:29968검색

요구 사항 설명:
바이두 클라우드 플랫폼의 동영상 솔루션을 사용하세요. 해결 방법은 먼저 휴대폰을 자체 서버에 업로드한 다음 자체 서버에서 바이두 서버로 업로드하는 것입니다. PHP 배경은 사용자를 완료합니다. 자신의 서버에 업로드할 때 업로드가 성공했다는 사용자에게 반환한 다음 Baidu 서버에 업로드를 수행합니다. 현재 직면한 문제는 PHP 백엔드가 클라이언트에 반환되기 전에 모든 실행이 완료될 때까지 기다린다는 것입니다. 매번 오랜 시간을 기다리게 만듭니다.

혹시 마스터 중 조언을 주실 수 있으신가요? 저는 프론트엔드 개발자로서 PHP 초보자로서 많은 문제에 직면했습니다. 모두 감사합니다.

답글 내용:

요구 사항 설명:
바이두 클라우드 플랫폼의 동영상 솔루션을 사용하세요. 해결 방법은 먼저 휴대폰을 자체 서버에 업로드한 다음 자체 서버에서 바이두 서버로 업로드하는 것입니다. PHP 배경은 사용자를 완료합니다. 자신의 서버에 업로드할 때 업로드가 성공했다는 사용자에게 반환한 다음 Baidu 서버에 업로드를 수행합니다. 현재 직면한 문제는 PHP 백엔드가 클라이언트에 반환되기 전에 모든 실행이 완료될 때까지 기다린다는 것입니다. 매번 오랜 시간을 기다리게 만듭니다.

혹시 마스터 중 조언을 주실 수 있으신가요? 저는 프론트엔드 개발자로서 PHP 초보자로서 많은 문제에 직면했습니다. 모두 감사합니다.

PHP 서비스에서 PHP-FPM을 사용하는 경우 특히 비디오 업로드 작업 처리를 위해 프로세스 풀을 열 수 있습니다. 스크립트는 fastcgi_finish_request를 사용하여 사용자의 요청에 신속하게 응답하고 시간이 많이 걸리는 업로드 처리를 수행합니다.

<code><?php
echo '手机端视频先上传至自有服务器';
sleep(10);
echo '上传成功';
fastcgi_finish_request(); //响应用户,结束请求
echo '程序继续操作,从自有服务器上传至百度服务器';
sleep(10);</code>

Nginx는 업로드된 콘텐츠를 수신한 후 한 번만 PHP-FPM에 전달하므로 파일 업로드 프로세스 중에는 PHP-FPM이 차단되지 않습니다.
"자체 서버에서 Baidu 서버로 업로드" 작업은 차단은 PHP-FPM 작업자 프로세스를 차지합니다.
이때 시스템의 다른 스크립트를 차단하지 않도록 이 작업을 처리할 업로드 프로세스 풀을 설정하는 것을 고려할 수 있습니다.

<code>nginx.conf: upload.php脚本的处理都交给监听9001的PHP-FPM进程池处理
location = /upload.php {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9001;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

php-fpm: 正常的脚本由静态www池处理,网络阻塞脚本由动态upload池处理
[www]
listen = 127.0.0.1:9000
pm = static
pm.max_children = 4
[upload]
listen = 127.0.0.1:9001
pm = dynamic
pm.max_children = 8
pm.start_servers = 4
pm.min_spare_servers = 4
pm.max_spare_servers = 4</code>

대기열을 사용할 수 있습니다. 사용자가 업로드를 완료한 후 작업을 대기열에 직접 넣은 다음 돌아와서 업로드를 완료하면 시스템이 예약된 작업을 실행하여 대기열을 실행합니다. 대기열 신청에는 여러 가지 형태가 있으며 검색하실 수 있습니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.