2016-07-21 94 views
1

一旦我有一個命令方法,this one,有可能讓這個commad永遠運行?Laravel 5.2作爲守護進程運行命令/永遠

到目前爲止,我有,對於

\Artisan::queue('socket:start'); 

調用一個Ajax '插座:啓動' 是我的命令。

這是行得通的,但只能持續30秒。之後,我的過程死亡。

我試圖作爲守護進程運行,as laravel documentation says但沒有運氣。

我該如何給用戶提供運行我的命令的選項,並永久保留它在後臺運行?

+0

您是否檢查過程中的日誌? –

+0

Nop。我在哪裏找到那些?在config/queue.php中沒有日誌的位置。只是關於一個'failed_jobs'表,我沒有在我的數據庫中^^「 –

+0

我的意思是你的套接字服務器......這只是啓動它的命令,套接字服務器日誌說什麼? –

回答

1

由於apache版本的PHP有超時,你會遇到這個問題。默認情況下,CLI版本沒有,所以你可以使用PHP的exec()功能來運行工匠命令,它應該工作:

exec('php artisan socket:start'); 

像往常一樣,只有當你知道到底是怎麼回事成exec()使用。

+0

In生產,最好是建立一個像supervisor一樣的軟件,以確保命令運行f即使在重啓等事件的情況下,也可能由於運行時錯誤而導致突然的命令失敗 – Naveed

相關問題