데이터베이스에서 작업 목록을 검색하고 데이터베이스 (기본적으로 프로세스 대기열)에서 찾은 내용을 기반으로 다른 PHP 스크립트를 시작하는 PHP 스크립트가 있습니다.PHP shell_exec 스크립트가 완료 될 때까지 기다리는 중입니까?
큐 러너 스크립트가 실행하는 스크립트 중 일부는 실행을 마치려면 30 초 정도 걸릴 수 있습니다 (비디오 변환, 이미지 크기 조정 등).
문제는 큐 러너 스크립트의 shell_exec()가 처리 스크립트를 호출하지만 완료 될 때까지 대기하지 않아 큐가 완료되지 않는 것입니다.
큐 러너 스크립트 :
#!/usr/bin/php
<?php
// Loop through database and find jobs to be done
shell_exec("nohup $command > /dev/null 2> /dev/null & echo $! &");
?>
명령 줄에서 직접 작업 스크립트를 실행 작동 및 PDF가 생성됩니다.
해결 방법에 대한 의견이 있으십니까? 또는 프로세스 큐를 실행하는 더 나은 방법은?
** ** nohup ** 및 ** & **을 사용하는 이유는 무엇입니까? 포 그라운드에서 명령을 실행하십시오! – inVader
답변에 대한 관심이 있습니까? – inVader