0

JS + PHP + MYSQL を使用してニュースレター マネージャーを開発する必要がありましたが、ブラウザーの JS 関数のタイムアウトに関するいくつかのことを知りたいです。自分自身への呼び出しを遅らせる再帰関数を実行している場合 (PHP が電子メールのリストを返す間)、ブラウザがこの JS 関数をタイムアウトにしないようにするにはどうすればよいですか?

同様のニュースレター マネージャーを使用したことを覚えているので、これを尋ねています。私はJSがこれに対応していないことを知っており、サーバーでCrontabを使用する必要がありますが、ユーザーサーバーがcronを処理するとは想定できないため、JS + phpに固執する必要がありました.

PS - これはこのアプリではまだ発生していません。シナリオの悪化を防ごうとしています (開発中のニュースレター マネージャーと同じように機能するニュースレター マネージャーをテストしたため)。私のダミーのメーリング リストは小さく、呼び出し間の遅延も小さいので、これは問題なく機能しますが、送信間の遅延が 120 秒の 1,000 の連絡先リストを想像してみましょう: 2 分ごとに 30 通の電子メールを送信します。

ところで、なんでこれ?多くのホスティング サーバーでは、1 日または 1 時間あたりに送信されるメールに制限があり、これはそのポリシー違反を防ぐのに役立ちます。

お時間をいただきありがとうございます。この件に関するコメントをお待ちしております;D

4

3 に答える 3

0

メタリフレッシュはいかがでしょうか。これにより、JavaScript 関数でタイムアウトが発生することはありません。特定の時間後にページをリロードして、次のメールを送信するだけです。URL にパラメーターを追加すると、現在の「ラウンド」を確認できます。

これはあなたのために仕事をすることができますか?

于 2010-07-01T19:52:10.293 に答える
0

mootools の観点からは、いくつかの解決策が考えられます。

ジョブのバッチを処理できるようにするオプションがたくさんあります。結果の非同期性を理解し、ラグなどを補償できる、より複雑な .periodical (setInterval) のように見てください。要件で設定したことを文字通り実行できると思います。箱から出してすぐに必要なのは、保留中の配列から完了をクリアする oncomplete コールバックだけです (たとえば)。

基本的に、すべてのリクエストを設定してデータのチャンクを処理し、それらを Request.Queue に渡して順番に処理します。レート制御を送信するという観点からは、おそらくあまり洗練されていません。

于 2010-07-01T19:41:05.620 に答える