0

人をフォローして友達を追加するなど、ユーザーがソーシャル ネットワーク Web サイトで実行できるアクションがいくつかあります。

現在、これらのアクションは Ajax によって行われ、ユーザーは簡単に元に戻すことができます (誰かをフォローしているときに、フォロー リンクがフォロー解除に変わり、もう一度クリックすると、もちろん、ユーザーのフォローが解除され、リンクが元に戻ります)。フォローする)。

これらのアクションが発生すると、(フォローされている) ユーザーに電子メールで通知されます。メールを送信するコードは、同じ ajax 呼び出しで実行されます。その結果、2 つの問題が発生します。1 つは、ユーザーが他の人のフォローをすぐに解除することを決定した場合でも、メールが送信されることです。2 つ目は、ユーザーがフォロー/フォロー解除のリンクを複数回クリックすると、複数のメールが送信されることです。

セッション変数を使用してユーザーのアクションを保存し、「ある時点」でその変数をチェックして、それに応じて実行することを考えました。私の苦労は、ユーザーがログアウトしたときに考えられる「ある時点」を見つけることですが、ユーザーが実際にログアウトすることを保証することはできません。

助言がありますか?

4

1 に答える 1

0

これを行う最も簡単な方法は次のとおりです。

DB テーブルでのプッシュ通知。また、ユーザーの場合は、最後のアクティビティ列があります。以前に発生した通知の行を頻繁に確認し(user.last_activity + TIME_CONSTANT)、それらをテーブルからポップしてグループ化し、ユーザーに送信します。

「頻繁に」は、cron タスク、または各要求でさえあります (クエリは非常に単純で迅速であるため)。

于 2013-08-15T01:22:41.957 に答える