2016-09-24 4 views
0

私は以下のようなことをしようとしています:ユーザーが「サインアップ」ボタンを押すと、2つの電子メールを送信する必要がありますユーザー)、次にリダイレクト。現在、ユーザーがサインアップボタンを押した後、ウェルカムページにリダイレクトされるまでに約5秒の遅れがあります。私はCodeigniterまたはphpに、私が非同期の電子メールを送信する2つの呼び出しを行うことができる方法があるのだろうかと思っています。両方の機能(sendEmailToAdmin()sendPendingApprovalEmailToUser())がコントローラに存在します。誠にありがとうございました。電子メールを送信する非同期呼び出し(ボタンをクリックしてリダイレクトする前に)

$this -> users_model -> set_user(); 
$this -> sendEmailToAdmin(); 
$email = $this -> input -> post('email'); 
$this -> sendPendingApprovalEmailToUser($email); 
redirect('welcome'); 

答えて

0

これは非同期で行う必要はありません。キューイングシステムを使用してジョブをキューにプッシュし、即座にユーザーをリダイレクトすることができます。キューワーカーはジョブを取得して電子メールを送信します。

ほとんど人気のキューイング・システム:

+0

具体的にお聞かせください。申し訳ありませんが、私はCodeigniter/phpの新機能です。 – Deepak

+0

純粋にCodeigniterではなく、スケーリングを改善する一般的なアーキテクチャです。私はCodeigniterに慣れていませんが、ここではキュー用のパッケージがいくつかあります:https://github.com/marsanla/Codeigniter-jobQueue –

0

使用のカールが、その後リダイレクトユーザーと管理者に電子メールを送信する処理するために2つのプロセスをフォークする場合、私は、と思いますメールを送信するだけでサーバー側で実行されるため、ユーザーはすぐに待ち時間を減らすことができます。ユーザーはinvoする必要はありません電子メールの受信に加えて夢中になった。

関連する問題