2014-03-02 2 views
0

저는 등록 된 사용자가 몇 천명에 달하고 새로운 기능에 대한 이메일 업데이트를 보내고 싶습니다.대량 메일을 백그라운드로 보내고 있습니다.

내가 시도한 것 : 수동으로 모든 사용자를 통과하는 백그라운드에서 task을 호출하는 요청을 실행합니다. & 보내지 않은 사람에게 보냅니다. 이제, 그것 (10 분)을 위해 타임 아웃을 치고있는 Im.

어떻게 확장 할 수 있습니까?

답변

1

첫 번째 N 전자 메일 주소 만 사용하고 전자 메일을 보낸 다음 동일한 작업을 수행하기 전에 다른 작업을 만들기 위해 지연된 작업을 만듭니다 (즉각 반환합니다). 마지막 작업은 보낼 전자 메일이 더 이상 없으며 종료 할 수 있습니다.

이러한 종류의 작업에 사용할 수있는 다양한 대기열이 있거나 지속되는 작업을 실행하고 실행할 수있는 백엔드를 만들 수 있습니다.

https://developers.google.com/appengine/articles/deferred

+0

나는 그것에 대해 생각했다. 그것은 내가 생각했던 것들이 더 추악하게 만든다. 나는 내가 어떻게하면 더 깔끔하게 그것을 할 수 있는지 다시 생각할 것이다. – Srinivas

+0

https://developers.google.com/appengine/docs/java/backends/ (백엔드 인스턴스 - 제한 시간 없음)을 보았습니다. 가격을보아야합니다. – Srinivas

1

당신은 백엔드를 작성하고 작업의 대상으로 사용할 수 있습니다. 백엔드에는 시간 제한이 없습니다.

이미 처리 한 사용자를 표시해야합니다. 어떤 이유로 든 작업이 실패하면 다시 시도합니다. 이전 시도에서 이미 처리 한 사용자는 건너 뛰고 싶습니다.

+0

developers.google.com/appengine/docs/java/backends (타임 아웃이없는 백엔드 인스턴스)에 대해 살펴 보았습니다. 가격을보아야합니다. – Srinivas

관련 문제