|
View:
New views
12 Messages
—
Rating Filter:
Alert me
|
|
|
|
|
|
[PHP-users 34768] Re: sleep関数が復帰せずプロセスがダウンする的を外したものです。
> はい。そうです。 > 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えています。 レンタルサーバーとか厳しい制約があるんでしたっけ。 常駐化なら、やはり常駐プロセスとしてプログラムを 作成するのが正攻法だと思います。 お力になれず、すみません。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34769] Re: sleep関数が復帰せずプロセスがダウンする久保田さん:
北村です。 > 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えています。 ということは、 こういうのとか、 http://labs.pakureserve.jp/archives/34 こういうのとか、 http://blog.bz2.jp/archives/2008/05/1php.html こういうのは、 http://ml.php.gr.jp/pipermail/php-users/2005-March/025513.html 考える方向性としては近くないですか。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34771] Re: sleep関数が復帰せずプロセスがダウンする田口様
この度はお世話になります。久保田と申します。 > 的を外したものです。 > >> はい。そうです。 >> 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えています。 > > レンタルサーバーとか厳しい制約があるんでしたっけ。 自己運営サーバーなので基本的にはサーバーに関する制限はなしです。 開発環境としてPHPで統一しておきたいと言う理由です。 > 常駐化なら、やはり常駐プロセスとしてプログラムを > 作成するのが正攻法だと思います。 そのように見直すべきかとも考え始めております。 それにしても、なぜプロセスがダウンするかの原因は明確にしておきたいと考えています。 > お力になれず、すみません。 いいえ。コメントを頂き感謝しております。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34772] Re: sleep関数が復帰せずプロセスがダウンする田口さま
この度はお世話になります。久保田と申します。 コメントを頂き感謝申し上げます。 > 久保田さん: > > 北村です。 > >> 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えています。 > > ということは、 > > こういうのとか、 > http://labs.pakureserve.jp/archives/34 > こういうのとか、 > http://blog.bz2.jp/archives/2008/05/1php.html > こういうのは、 > http://ml.php.gr.jp/pipermail/php-users/2005-March/025513.html 上記のサイトを参考にさせて頂きます。 > 考える方向性としては近くないですか。 近いです。 定期起動をsleep関数を利用しないでどのように実現するかを検討したいと思います。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34774] Re: sleep関数が復帰せずプロセスがダウンする堀田@長崎市です。
On Thu, 17 Sep 2009 10:10:35 +0900 Yuji KUBOTA <kubota.yuji@...> wrote: Subject: [PHP-users 34771] Re: sleep関数が復帰せずプロセスがダウンする > >> 定期的に処理を実行するプログラムをプロセスとして常駐化させ > >> 利用したと考えています。 > > > > レンタルサーバーとか厳しい制約があるんでしたっけ。 > 自己運営サーバーなので基本的にはサーバーに関する制限はなしです。 > 開発環境としてPHPで統一しておきたいと言う理由です。 参考になるかどうかはわかりませんが、私の職場(大学)では多数の バッチ処理を php CLI で運用しています。一例を挙げると root@gtr:~# cat /var/spool/cron/phpuser (略) #-------------------------------------------------------------------------- # 入退室状況表示対象研究室ステータスの取得 #-------------------------------------------------------------------------- */1 * * * * $HOME/lc_view/progs/get_roomstat.php #-------------------------------------------------------------------------- # 情報演習室におけるログイン状況の取得 #-------------------------------------------------------------------------- */5 * * * * $HOME/get_smbstatus.sh >> /tmp/get_smbstatus.log >&/dev/null #-------------------------------------------------------------------------- # 年次更新 #-------------------------------------------------------------------------- 0 0 1 4 * $HOME/lc_view/progs/annual_update.php それぞれ1分間に1回、5分間に1回、年に一回の処理です。 スクリプトの中身はいろいろ(オラクルやポスグレにアクセスしたり、 ssh 経由でいろんなサーバを巡回したり、メールを送ったり)ですが、 いずれにせよ、処理が終わったら単に終了すればいい(非常駐型)ので プログラムが単純になり、保守性も向上します。Web アプリじゃないの でセッションなどの状態遷移も意識する必要がない分、可読性もよく、 ブラウザも不要です。昔の COBOL の感覚です。 cron とシェルの使い方を覚えれば、いろいろと応用が利きますよ。 独立した処理を連続してやりたければ、複数の php スクリプトをまと めて実行するシェルスクリプト(上記の get_smbstatus.shがそれ)を 作って cron に登録する、などという具合です。 エンドユーザに見せたい画面だけを Web アプリとして開発し、参照す る DB の中身は CLI が生成/更新する、という使い方が多いです。 > > 常駐化なら、やはり常駐プロセスとしてプログラムを > > 作成するのが正攻法だと思います。 > そのように見直すべきかとも考え始めております。 > それにしても、なぜプロセスがダウンするかの原因は明確にして > おきたいと考えています。 もし対象が制御系だったり、監視系(インターバルが1分以内)だった りする場合は、常駐型にならざるを得ないかもしれません。その場合で も CLI ならデバッグも楽だし、apache の介在がなくなるので、原因の 絞り込みも少しは楽になるかもです。 -- HOTTA Michihide <hotta@...> _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34775] Re: sleep関数が復帰せずプロセスがダウンする 前田です。
同じ環境を作れないので、確認できないのですが、Apache自身の workerプロセスが終了するときに、シグナルが飛んできて一緒に 終了しているのでは無いですか? MaxRequestsPerChild の設定に依存しますが、デフォルト値は 10000となっており、10000リクエスト毎にサーバープロセスは 終了します。 pcntl_signalで、シグナルハンドラ設定してログを書かせてみれば 判断できると思います。 飛んでくるシグナルを無視することで、プロセスが終了することは なくなりますが、もし、子プロセスが長期間待機する性質のもので あれば、CLI等で作ったデーモンプロセスを用意するほうがベター だと思います。 複数の異なるかも知れない親からforkされるプロセス群を安全に 管理するのは大変変だからです。 シグナルを無視するようにしたとして、Apache自体を再起動した 際に、各々の子プロセスの後始末をきれいにやったり、安全な排他 処理を用意したりするのは気を使います。 -- MAEDA 'kei' Katsuyukii <maeda.katsuyuki@...> 「終わらないプロジェクトはない。終わっちゃうプロジェクトはあるけど。」 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34776] Re: sleep関数が復帰せずプロセスがダウンする Mashikiです。
>>> 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えて >>> います。 : >自己運営サーバーなので基本的にはサーバーに関する制限はなしです。 >開発環境としてPHPで統一しておきたいと言う理由です。 : >> 常駐化なら、やはり常駐プロセスとしてプログラムを >> 作成するのが正攻法だと思います。 >そのように見直すべきかとも考え始めております。 >それにしても、なぜプロセスがダウンするかの原因は明確にしておきたいと考えてい >ます。 前田さんのapacheプロセスの終了が怪しそうですね。 apache経由でなく、コマンドラインから実行して再現しないのであれば、 --- Test_CreateSleepProc.php --- <?php exec("echo 'php -f Test_Sleep.php > /dev/null' | at now"); ?> でいけそうな気がします。 ところで、なぜ常駐させたいのか語られていないのですが、 自分だったら可能な限り常駐は避けます。 php自身、利用しているモジュールやライブラリ、自分で書いた プログラムのすべてについて、メモリリークがないことを保障するのは 難しいので、60回だけループして終了するようなプログラムにして、 それをcronで10分置きに起動するとかを選択するでしょうね。 ブラウザから開始/終了したいのであれば、apache側プログラムは 設定ファイルにフラグをセットするだけにするとか...。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34777] Re: sleep関数が復帰せずプロセスがダウンするMashikiさま
この度はお世話になります。久保田と申します。 > Mashikiです。 > >>>> 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えて >>>> います。 > : >> 自己運営サーバーなので基本的にはサーバーに関する制限はなしです。 >> 開発環境としてPHPで統一しておきたいと言う理由です。 > : >>> 常駐化なら、やはり常駐プロセスとしてプログラムを >>> 作成するのが正攻法だと思います。 >> そのように見直すべきかとも考え始めております。 > >> それにしても、なぜプロセスがダウンするかの原因は明確にしておきたいと考えてい >> ます。 > > 前田さんのapacheプロセスの終了が怪しそうですね。 > > apache経由でなく、コマンドラインから実行して再現しないのであれば、 > > --- Test_CreateSleepProc.php --- > <?php > exec("echo 'php -f Test_Sleep.php > /dev/null' | at now"); > ?> > > でいけそうな気がします。 > ところで、なぜ常駐させたいのか語られていないのですが、 > 自分だったら可能な限り常駐は避けます。 [PHP-users 34767]でもご説明させて頂いておりますが、定期的に処理を実行するプログ ラムをプロセスとして常駐化させ利用したと考えたしだいです。 なた、開発言語としては ・システム全体としての統一性 ・HTML、HTTP、MySQLが扱いやすいこと を考慮し、PHPを利用したしだいです。 > php自身、利用しているモジュールやライブラリ、自分で書いた > プログラムのすべてについて、メモリリークがないことを保障するのは > 難しいので、60回だけループして終了するようなプログラムにして、 > それをcronで10分置きに起動するとかを選択するでしょうね。 堀田さまからも同様のご指摘を頂いております。 [PHP-users 34774] 皆様から頂いたコメントを参考に、方式として再検討を行いたいと思います。 > ブラウザから開始/終了したいのであれば、apache側プログラムは > 設定ファイルにフラグをセットするだけにするとか...。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34778] Re: sleep関数が復帰せずプロセスがダウンする堀田さま
この度はお世話になります。久保田と申します。 コメントを頂き感謝申し上げます。 > 堀田@長崎市です。 > > On Thu, 17 Sep 2009 10:10:35 +0900 > Yuji KUBOTA <kubota.yuji@...> wrote: > Subject: [PHP-users 34771] Re: sleep関数が復帰せずプロセスがダウンする > >>>> 定期的に処理を実行するプログラムをプロセスとして常駐化させ >>>> 利用したと考えています。 >>> レンタルサーバーとか厳しい制約があるんでしたっけ。 >> 自己運営サーバーなので基本的にはサーバーに関する制限はなしです。 >> 開発環境としてPHPで統一しておきたいと言う理由です。 > > 参考になるかどうかはわかりませんが、私の職場(大学)では多数の > バッチ処理を php CLI で運用しています。一例を挙げると > root@gtr:~# cat /var/spool/cron/phpuser > (略) > #-------------------------------------------------------------------------- > # 入退室状況表示対象研究室ステータスの取得 > #-------------------------------------------------------------------------- > */1 * * * * $HOME/lc_view/progs/get_roomstat.php > #-------------------------------------------------------------------------- > # 情報演習室におけるログイン状況の取得 > #-------------------------------------------------------------------------- > */5 * * * * $HOME/get_smbstatus.sh >> /tmp/get_smbstatus.log >&/dev/null > #-------------------------------------------------------------------------- > # 年次更新 > #-------------------------------------------------------------------------- > 0 0 1 4 * $HOME/lc_view/progs/annual_update.php > > それぞれ1分間に1回、5分間に1回、年に一回の処理です。 > > スクリプトの中身はいろいろ(オラクルやポスグレにアクセスしたり、 > ssh 経由でいろんなサーバを巡回したり、メールを送ったり)ですが、 > いずれにせよ、処理が終わったら単に終了すればいい(非常駐型)ので > プログラムが単純になり、保守性も向上します。Web アプリじゃないの > でセッションなどの状態遷移も意識する必要がない分、可読性もよく、 > ブラウザも不要です。昔の COBOL の感覚です。 > > cron とシェルの使い方を覚えれば、いろいろと応用が利きますよ。 これだと常駐性がないので、扱いが楽になりますね。 取扱いを検討しています。 > 独立した処理を連続してやりたければ、複数の php スクリプトをまと > めて実行するシェルスクリプト(上記の get_smbstatus.shがそれ)を > 作って cron に登録する、などという具合です。 > > エンドユーザに見せたい画面だけを Web アプリとして開発し、参照す > る DB の中身は CLI が生成/更新する、という使い方が多いです。 > >>> 常駐化なら、やはり常駐プロセスとしてプログラムを >>> 作成するのが正攻法だと思います。 >> そのように見直すべきかとも考え始めております。 >> それにしても、なぜプロセスがダウンするかの原因は明確にして >> おきたいと考えています。 > > もし対象が制御系だったり、監視系(インターバルが1分以内)だった > りする場合は、常駐型にならざるを得ないかもしれません。その場合で > も CLI ならデバッグも楽だし、apache の介在がなくなるので、原因の > 絞り込みも少しは楽になるかもです。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34779] Re: sleep関数が復帰せずプロセスがダウンする前田さま
この度はお世話になります。久保田と申します。 コメントを頂き感謝申し上げます。 > 前田です。 > > 同じ環境を作れないので、確認できないのですが、Apache自身の > workerプロセスが終了するときに、シグナルが飛んできて一緒に > 終了しているのでは無いですか? そんな動きをしているのですね。勉強になりました。 Apacheの動きをもっと理解しないと行けないと痛感。 > MaxRequestsPerChild の設定に依存しますが、デフォルト値は > 10000となっており、10000リクエスト毎にサーバープロセスは > 終了します。 MaxRequestsPerChildの値が0となっておりました。 と言う事は、今回のケースに関してはMaxRequestsPerChildの設定に関係ないと言う事で すね。 追加情報ですが、何度か試験を繰り返すと同じ時刻(0:10)にプロセスがダウンしており ました。 Apacheが定期的に何かを行っている事が怪しいと理解できます。 その点をつめてみたいと思います。 > pcntl_signalで、シグナルハンドラ設定してログを書かせてみれば > 判断できると思います。 > > 飛んでくるシグナルを無視することで、プロセスが終了することは > なくなりますが、もし、子プロセスが長期間待機する性質のもので > あれば、CLI等で作ったデーモンプロセスを用意するほうがベター > だと思います。 > 複数の異なるかも知れない親からforkされるプロセス群を安全に > 管理するのは大変だからです。 > > シグナルを無視するようにしたとして、Apache自体を再起動した > 際に、各々の子プロセスの後始末をきれいにやったり、安全な排他 > 処理を用意したりするのは気を使います。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 34787] Re: sleep関数が復帰せずプロセスがダウンする北村さま
この度はお世話になっております。久保田と申します。 遅く報告となってしまいました。 >> 北村と申します。 >> >> 若葉とか初心者とか名乗っても叩かれない、良い時代になりました。 >> >> さて、本題ですが、 >> >> Test_Sleep.phpの >> >>> while($loop_condition){ >> は無限ループになっているように思いますが、これは意図的なものですか? > はい。そうです。 > 定期的に処理を実行するプログラムをプロセスとして常駐化させ利用したと考えています。 > >> ログファイルが異常に大きくなってしまったとか。 > 今回作成されたログファイルのサイズは399KBでした。 > このサイズよりも大きなログファイルを扱った事があるのでプロセスダウンの原因とは考 > えられないと思います。(HDD容量にも問題なし) > >> あと、exec()の戻り値や標準エラーを取得すると、何か出てきませんか? > 確認してみます。少々お時間を下さい。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
| Free embeddable forum powered by Nabble | Forum Help |