俺の雑記帳

My random memorandumです。(つまり、個人的な備忘録であり、その点ご容赦を。)

PHPでバッチ処理

PHPで本格的なバッチ処理を開発することになりそう。

PHP バッチ処理」でググると いろいろ気になることが出てくる。
https://www.google.co.jp/search?hl=ja&q=PHP+%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86&lr=lang_ja

まだ読んでないけど、気にすべきような点を以下にメモする。

phpバッチ処理は控えるべき?メモリ解放しないよ。』
http://takuya-1st.hatenablog.jp/entry/20070509/1178705008
CGIでなくCLIでも同じなのか?

phpバッチ処理−コードの紹介』
http://awakecomputer.com/?p=3015
…なにやらもっともらしいサンプルコードあり。

バッチ処理が重複するのを避ける方法 » pblo』
http://blog.playispeace.com/40/stop_run_batch_duplicate/
…なんか、こんなこと、昔かなんかかなり気にしてプログラミング作ったかも。比較のとき?
 昔の自分の はてなブックマーク とか調べれば、出てくるかな?
 このブログのはじめのほうにも、PHPバッチ処理に関する話題があったな…

その他、『コマンドラインでPHPを使うときの11のTips』とか、気になるお題が目白押し。



2022-04-15 追記:
バッチの実行時間を制限したいのに、出来ない。。。

set_time_limit() (max_execution_time) は、APIの待ち時間などは時間から除外される(Win以外)というのは分かったが、
それ以外に default_socket_timeout(※)や、その他以下のようにいろいろ試したが、どれもSOAPで固まる場合に途中終了できない。

$ php -d max_input_time=1 -d hard_timeout=1 -r 'namespace TLV\GCN; var_dump(ini_get("max_execution_time"));var_dump(ini_get("default_socket_timeout"));var_dump(ini_get("exit_on_timeout"));var_dump(ini_get("max_input_time"));var_dump(ini_get("hard_timeout")); set_time_limit(1);ini_set('default_socket_timeout',1);ini_set('exit_on_timeout',TRUE);ini_set("max_input_time",2);ini_set("hard_timeout",TRUE); var_dump(ini_get("max_execution_time"));var_dump(ini_get("default_socket_timeout"));var_dump(ini_get("exit_on_timeout"));var_dump(ini_get("max_input_time"));var_dump(ini_get("hard_timeout")); [ここからSOAPで多数行取得する長時間処理]'