がるの健忘録 このページをアンテナに追加 RSSフィード

2007-09-11

[][][]場当たり的バックグラウンド処理 PHP

forkがないわけではいのですが、コンパイルオプションありぃのそもプロセスちゃんと理解してるか怪しいのその他もろもろありますので。

たとえば「ちょっと重たい処理をしたくて裏側で処理してくれるとうれしいんだけど」なときに、まぁ場当たりな処理が必要なこともあるです。


もちろん「場当たるな!!」ってのが正論なのですが「いやまぁどうせワンライナーの仲間だし」っていうこっきりさん(一回だけしか使わない)のときには、こんな手もありです。

system("処理かいたコマンドをフルパスで > /dev/null &");

注意。いろんな意味で場当たりなので、システムで使うのは可能な限り避けましょう。

あくまでも「一回こっきりちょっと力仕事をサーバにやらせたい」時用です。

かずくんかずくん 2007/09/12 10:35 シェルスクリプト使った方がよくね?とおっもたけど、何か思い違いをしてますでしょうか?
PHPの関数を使いたいなら、CLI版PHPを起動するよう、シェルスクリプトを記述すればよいように感じたのですが、何か思い違いをしてますでしょうか?

かずくんかずくん 2007/09/12 10:40 ここでいうバックグラウンド処理とは、例えば、処理が重たいので、とりあえずお待ちくださいページだけ返し、後で非同期 or 再表示で実際のページを返すイメージ?
そうなら、思い違いをしてました。

ZenZen 2007/09/12 12:37 ウェブから複数のメール送信処理などを行う際に、バックグラウンドでメール送信処理をsystemコマンドで叩いて、画面には「メール送信処理を実行しました」的な文言を表示しちゃうなんてこともできそうですね。
もちろんエラーは取得できませんが・・・。

gallugallu 2007/09/13 00:44 がるでっす。

To かずくんさん
んと…おおむねYesなのですが。
普段の環境ですと何も考えずにシェルに&つけてバックグラウンド処理するのですが、今回「FTPしかでけない」という環境に出くわしまして(苦笑
で、メールを1万弱ほど投げつける必要があって、こーゆー手段をとりましたw

To Zenさん
うん基本的にはYesです。ただ…ほんちゃんのシステムなら、やっぱりちゃんとエラー補足したいところです(苦笑
理想はcronで設定。ダメなら、せめて「バックグラウンド処理のエラーをどこかにログ出力」ですかねぇ。

まぁいずれにしても「禁じ手に近い場当たり的手法」ですハイw

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gallu/20070911/p1