2012-01-06 8 views
0

sleep()関数が大量(700〜3000ループ)のmail()ループに何らかの影響を与えるかどうか疑問に思っていました。ループをより効率的に助けるsleep()を使用すると、大量のPHPメールループでの問題を防ぐことができますか?

そのため、おそらくすべての10個のループした後、数秒間睡眠はそのように上の別の10を行い、そして...

でしょうか?

奇妙な男!

+0

ハイボリューム出力に 'mail()'を使用しないでください。非常に非効率です。代わりにPHPMailerまたはSwiftmailerを使用してください。 –

答えて

1

単にメールをループに入れるのではなく、Gearman(それはPHP bindingsというような)のようなキューシステムで仕事をしています。このようにすると、メール機能が何かを保持していれば、PHPプロセスのタイムアウトなどを避けることができます。

これまで、私は書いたPHPラッパースクリプトでこれを達成するために、Linux atコマンド(単純なキューメカニズム)を使用しました:PHP-at-Job-Queue-Wrapper

sleep()は、これをより効率的または透過的にする良い方法ではないと思います。

+0

'' mail() 'がどのように動作するのかは分かりませんが、メールを送信する際の接続と待ち時間の問題が常に現れ、良いキューを持っていないと悪い考えです。 – JonLim

関連する問題