[英]How to Run a PHP file when files exist in directory - Encoding Server
我正在編寫一個編碼服務器,需要一些幫助
我有一個名為uploaded的目錄,以及一個名為videoConverter.php的php文件,當它運行時它有一個循環,它將轉換上傳目錄中的所有視頻文件,並將完成的文件FTP傳輸到流服務器。
腳本沒有問題,但問題是一旦循環結束,它將不會轉換循環結束后上傳的任何新文件。 當文件上傳到上傳目錄時,我需要找到執行php文件或腳本。
我正在考慮使用cron作業並每秒運行php文件,但它不會繼續運行腳本,而它已經運行了嗎?
有誰知道解決這個問題的好方法?
我不會堅持使用PHP來完成這樣的任務,它只是編碼工具和文件本身之間的低效層 - 你需要一個事件驅動的工具,而不是腳本語言。
我最好查看inotify以獲取上傳文件夾中的本地更改,然后隨時處理新文件。
我的第一個想法是在Node.js環境中使用inotify包裝器 :
encode(newFile)
; pushToFTP(encodedFile)
回調並開始傳輸。 獎金,較小的文件不必等到整個作業完成由於異步的js架構。
你可以這樣做:
現在,如果進程失敗並且從不取消鏈接失敗,則可能會產生問題,不會運行其他任務。
你可以做的另一件事就是有一個bootstrap腳本execute,exec('ps aux | grep VIDEO_SCRIPTNAME'); (或其他),如果您看到腳本已在運行,請不要執行視頻轉換腳本。 在該示例中,您將擁有兩個文件,即由cron運行的引導程序,並檢查當前是否正在進行視頻轉換,以及第二個文件,即實際執行該工作的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.