2016-07-21 6 views
1

コマンドメソッドthis oneを取得したら、そのcommadを永遠に実行することは可能ですか? ':スタートソケット' 私の命令であるLaravel 5.2コマンドをdaemon/foreverとして実行

は、これまでのところ私は

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

を求めてAJAXを持っています。

これは動作しますが、30秒間だけ有効です。その後、プロセスが終了します。

私はデーモンプロセスとして実行しようとしましたが、as laravel documentation saysは運がありません。

私のコマンドを実行し、バックグラウンドで永久に生き続けるオプションをユーザーに与える方法を教えてください。

+0

プロセスからログを確認しましたか? –

+0

Nop。それらはどこにありますか? config/queue.phpにはログの場所がありません。私のDBにはない "failed_jobs"テーブルに関するもの^^ " –

+0

あなたのソケットサーバーを意味します...これは起動するコマンドです。ソケットサーバーのログは何ですか? –

答えて

1

PHPのApacheバージョンにタイムアウトがあるため、この問題が発生しています。あなたはexec()に起こっている正確に何を知っている場合にのみ、これを使用して、いつものように

exec('php artisan socket:start'); 

:あなたが動作するはず職人のコマンドを実行するためにPHPのexec()機能を使用できるように、デフォルトでは、CLIのバージョンは、しません。

+0

In生産のためには、スーパーバイザーのようなソフトウェアをセットアップして、コマンドが実行されることを確認する方がよいでしょう。f orever、再起動のようなイベントの場合でも、おそらく実行時エラーのために突然のコマンドの失敗 – Naveed

関連する問題