2013-11-15 4 views
0

예약 된 메시지, 전자 메일 및 기타 항목을 계획하는 가장 좋은 방법은 무엇인지 알고 싶습니다. 예를 들어 내 웹 응용 프로그램에 약속이 나열되어있는 경우 응용 프로그램에서 약속 전에 약속 시간에 전자 메일을 보내도록합니다. 대규모 사용자 풀 때문에 한 번에 1000 개의 전자 메일을 보낼 수 있습니다.예약 된 메시지, 전자 메일, 미리 알림

가능한 가장 좋은 방법은 무엇이며, 예약 된 작업을 게시 할 수있는 서비스 (유료/무료 제 3 자)가있는 경우 작업을 수행해야합니다.

감사

답변

0

나는이 "거기"할 어떤 서비스인지 모르지만, 당신이 타이머에서 실행되는 Windows 서비스를 작성하는 것입니다 개발한다면 가장 좋은 방법은 10 분마다 말이나 그래서.

SQL 쿼리로 다음 15 분 또는 30 분 내에 오는 데이터베이스 약속을 읽습니다. 데이터가 반환되면 해당 약속에 대한 타이머 틱 이벤트를 통해 적절한 시간에 실행되도록 설정된 해당 레코드 각각에 대해 타이머를 만들 수 있습니다. 타이머가 틱하면 스레드 풀에서 전자 메일을 보내어 전자 메일을 보낼 때 주 스레드가 멈추거나 차단되는 것을 피하고 서비스 응답 속도를 조금만 높입니다.

ASP.NET에서이 "자동화"작업을 수행 할 수 없으며 Windows 서비스는 일정한 간격으로 작업을 수행하는 경우에 적합합니다.이 경우 일정 기간 동안 약속/일정 목록을 가져올 수 있습니다 시간을 보내고 이메일을 보내십시오.

일단 전자 메일을 보내면 다음 타이머 이벤트에서 중복 된 전자 메일이 보내지지 않도록 해당 레코드를 업데이트해야합니다. "SentReminder"와 같은 플래그가 레코드 필드에 설정되어 있습니다 데이터베이스에.

이렇게하는 것이 가장 좋은 방법입니다.