- ベストアンサー
CGIの処理中に次の処理が出来る?
perlで書いたCGIの処理時間が非常に長いのです。 処理は数百名に対してメールを配信するもので、テキストで書かれた数百のメールアドレス配列に対してループ文で一人ずつメールを配信しています。これが約4分くらいかかります。 質問は2つあって、 (1)まずこのメール配信の処理を早くする方法はないでしょうか? 配信アドレスは自動的に追加されたり削除されたりするので固定のML を使う事ができませんので、個別にメールを送る方法を取っていま す。 (2)メール配信をバックグランドで実行させて、メインのプログラムは 復帰させる、という方法が出来るでしょうか? 今は、メインCGIが画面の表示やメールの配信などほとんどを実行し ています。 このような場合、メール配信中はそのメインCGIが実行権を握った 状態になる為、他のユーザはこのメインCGIを実行出来ないと思って いるのですが、間違った認識でしょうか? もしそうだとすると、早くメインCGIの実行権を他のユーザに明け渡 さなければならないと思うので、メール配信を別CGIで実行させたほ うが良いのかな?と思った次第です。 よろしくご教示下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.2
- Aruku-20030515
- ベストアンサー率23% (362/1544)
回答No.1
補足
がるさんありがとうございます。 >私は「まとめて送信」には比較的懐疑的です。 >一つには、ユーザ的に「メールヘッダのToが自分のアドレスである」 >ほうが好感度が高いのが一つ。 ↑の件については、まさにその通りで、だからこそ、1通ずつメールを配信する事で、ユーザには個別にメールが配信さるようにしています。 でも時間が掛かってしまっているのが現状の悩み。(T_T) そこで、Aruku-20030515さんの言われている1回で送信できて、送信先に他のメールアドレスが載らない(個別送信)方法を是非アドバイス頂きたいと思った次第です。 flockの件、アドバイス頂きましてありがとうございます。 (2)については難しい(私にはまだ)内容ですね。勉強させてもらいます。 (1)の1回で送信で実現できないかに望みをかけたいのですが。。。