2013-08-15 2 views
0

나는 사람들이 따라 다니는 친구를 추가하는 것과 같은 소셜 네트워크 웹 사이트에서 사용자가 수행 할 수있는 여러 가지 조치를 취하고 있습니다.알림 이메일을 보내야하는 시점은 언제입니까?

이제 이러한 액션은 Ajax에 의해 수행되고 사용자는 쉽게 되돌릴 수 있습니다 (누군가를 따라 가면 팔로우 링크가 언 폴로우로 바뀌고 다시 클릭하면 결과가 사용자를 푸는 결과를 낳습니다). 링크 - 뒤 따르기).

이러한 동작이 발생하면 사용자 (이메일을 통해)가 사용자에게 알립니다. 전자 메일을 보내는 코드는 동일한 아약스 호출에서 실행됩니다. 두 가지 문제가 있습니다. 하나는 사용자가 다른 사람을 한 번에 언 폴링하기로 결정한 경우에도 이메일이 전송된다는 것입니다. 또한 사용자가 후속/팔로우 해제 링크를 여러 번 클릭하면 두 번, 여러 개의 이메일이 전송됩니다.

세션 변수를 사용하여 사용자의 작업을 저장 한 다음 해당 변수에 대한 "특정 시점"검사를 적절하게 수행 할 것을 고려했습니다. 내 투쟁은 사용자가 로그 아웃 할 때 생각한 "어느 시점"을 찾는 데 있습니다. 그러나 사용자가 실제로 로그 아웃 할 것이라고 보장 할 수는 없습니다.

제안 사항? 내가이 일을 볼 수 있습니다

+1

이것은 실제로 프로그래밍 문제는 아니지만보다 일반적인 사이트 디자인 질문입니다. – Barmar

+0

나는 내 질문에 대한 장소를 찾는 데 어려움을 겪었으므로 더 좋은 것을 찾을 수 없었다.> –

+0

댓글을 달았지만, 이것은 실제로 오프 주제이지만 시간 스탬프를 설정하고 나중에 cron 작업을 사용하여 메일을 보내는 것이 좋습니다. 어쨌든, 나는 전자 메일로 사용자를 보지 않을 것이다. – devsnd

답변

0

가장 쉬운 방법은 : DB 테이블에

푸시 알림. 또한 사용자에게는 마지막 활동 열이 있어야합니다. (user.last_activity + TIME_CONSTANT) 이전에 발생한 알림 행을 자주 확인하고, 테이블에서 팝업하여 그룹화 한 다음 사용자에게 보냅니다.

"자주"는 cron 작업 일 수도 있고 심지어는 각 요청 (쿼리가 매우 간단하고 빠르기 때문에) 일 수 있습니다.

+0

다른 답변을 얻으려는 희망이 없으므로 답변을 수락합니다. D,이 사이트의 일부 규칙은 단순한 바보입니다. –

관련 문제