具体的なコードが知りたいというよりかは、我流でプログラミングしていることもあり、自分の考えた方法がスマートなものなのか、他に良い方法があるかお聞きしたいと思っています。
Laravel 5.8、MAMPを使って開発を行なっています。
その中に、大量のデータをサーバとやりとりするため、一度の処理に數十分から数時間程度かかる処理があります。
このまま実行するとタイムアウトになってしまうので、時間がかかる部分の処理を別のphpファイル(longtime_process.php)へと移行し、
php
1exec(nohup php longtime_process.php >/dev/null 2>&1);
のように呼び出そうと思っています。
ただしこの方法だと、2つの疑問があります。
・処理を分けたphp(longtime_process.php)をどのフォルダに置いたら分かりやすいか
appフォルダ直下などにおけば良いのかと思うのですが、そういった形でよろしいと思われるでしょうか。
・変数をlongtime_process.phpに渡したいので、argvを使う
phpの変数をコマンドライン引数で渡して、再びphpの変数として使うのはコードがスマートではないような気がしています。
現状としてはexecでnohupを利用する方法を取ろうと思うのですが、Laravelの機能を使ったり、または別のスマートな方法があればお聞きしたいと思います。
PHP、Laravelについても経験が浅く、見当違いなことを申し上げていれば大変恐縮ですが、よろしくお願いいたします。


回答2件
あなたの回答
tips
プレビュー