2017-08-08 48 views
1

我在我的Laravel項目有問題後,我試圖轉碼的視頻文件FFMPEG450MB大小並且由於該走long我使用Laravel中的隊列來執行此操作。Laravel數據庫隊列,「殺」幾秒鐘

由於我必須使用數據庫隊列的問題是,排隊的工作得到每次隨時隨地我在流浪框中使用的命令php artisan queue:work約60秒後殺死了我的生產環境的配置。

Vagrant盒具有4GB可用RAM,啓用2D和3D加速,並且memory_peak_usage()命令在整個過程中從未列出超過20MB的任何內容。

我檢查了php_sapi_name(),它的CLI如預期,因此不應該在當它涉及到執行時間所有的任何限制,無論我去到CLI 的php.ini文件並刪除任何限制再確定。

嘗試重新引導流浪者,得到幾秒鐘後殺死無論如何。

,所以我決定嘗試轉碼過程創建一個Laravel 命令,我硬編碼的文件路徑和東西,你瞧它的工作而不被 ...

我失去了一些有關隊列?我只是運行php artisan queue:work我沒有指定任何類型的超時,爲什麼我的隊列被殺了?

非常感謝您的幫助。

+0

你用'--timeout'參數試過嗎? – Ali

+0

@Ali這是一個問題,我不希望**任何**超時,所以介紹一個會破壞我的應用程序,因爲ffmpeg可以輕鬆地花費1-2小時來完成視頻處理。 我確實在Laravel文檔上看到,'--timeout'選項會優先於cli上的常規超時...也許如果我爲我的用例設置了一個很大的選項,那麼可能會解決,但它仍然是討厭的並沒有很大的意義。 –

回答

1

作業的默認超時時間爲60秒,正如您發現的那樣。超時通過--timeout[=TIMEOUT]屬性指定,完全禁用超時是通過--timeout=0完成的。

php artisan queue:work --timeout=0