自分のウェブサイトの管理領域にログインスクリプトがあると仮定し、誰かがログインするたびに、さまざまな管理者の電子メールアドレスに通知メールを送り、 (WordPressのように)プロセスを起動する前にコルーチンの遅延を追加する
様々な理由から、通常のようにログインを実行したいが、2分後などに電子メール通知を送信する必要があるとします。
明らかに、PHPはsleep
機能を持っていますが、これはすべてページ処理を保持します。この例では、ユーザーログインは数分間「中断」され、スリープ時間が終了して電子メールが送信されるとログインが完了します。
- PHPでこの(または同様の)コルーチン実行遅延を達成する方法はありますか?
私がいない疑いがあるが、それは尋ねる価値があるが、私はPHPの構造は、それが唯一のコルーチンに全体ではなく、スレッド処理に遅延を加える処理できないのです意味疑い思いました。
通常の方法は、サービスをバックグラウンドで実行することです。 Unixのcronの上で動作するPHPライブラリさえあります。 –
これらのサービスは何と呼ばれていますか?私はCronが可能な方法であると思ったが、私はcronの設定が動力学的に生成しにくいことも多いと感じている。 – Martin
cronは単なるタスクスケジューラである。難しいのは、保留中のメッセージをチェックし、それらを送信する処理を行い、実行が重複した場合に2回送信しないPHPコマンドラインスクリプトを作成することです。 X分ごとに実行するようにスケジューリングするのは簡単です。多くのホスティングプロバイダには素晴らしいコントロールパネルがあります。 –