2010-06-10 3 views
0

나는 최종 사용자에 대한 프로세스의 속도를 내가 별도의 스레드를 통해 이메일의 몇 가지를 보내 프로젝트를 가지고있다. 그것은 성공적으로 작동하지만, 내가 생각지 못한 함정이 있는지 궁금해하고 있었습니까? 나의 가장 큰 두려움이 메시지가 (이 보내는 스레드에 전송 된 것 같은)를 전송했습니다하지만 어떤 이유로 스레드가 보내하지 못할 수도 있다고, 사용자가 버튼을 클릭한다는 것입니다. 스레드가 중간에 중단 될 수있는 상황이 있습니까? 스레드를 통해 이메일을 보내는 것이 완료되지 못할 수 있습니까?

내가 이메일 수신자가 존재하지와 네트워크 중단 또는 명백한 문제에 대해 이야기하고 있지 않다 있습니다. 간단히하기 위해 연결이 작동 중이며 메일 서버가 유효하고받는 사람이 유효하다고 가정하십시오. 예를 들어 스레드가 완료되기 전에 사용자가 브라우저를 죽이면 스레드가 조기에 중단 될 수 있습니까?

바보 같은 질문이 될 수도 있지만 난 그냥 이런 식으로 스레드를 사용하는 전체 파급 효과를 알고 있는지 확인하고 싶었다. 도움을 주셔서 감사합니다.

답변

0

이메일 스레드를 죽이지해야 HTTP 연결을 죽이는. 그러나 물론, 당신이주의했듯이, 많은 것들이 전자 메일 (SMTP 서버 다운, 네트워크 중단, 코드의 버그, ...)을 보내면 잘못 될 수 있습니다.

1

오히려 스레드에서 그 일을보다, 당신은 큐에 메시지를 넣고을 보낼 외부 cron 작업을 사용하는 것이 좋습니다. django-mailer은 이것을 완전히 투명하게 관리합니다.

관련 문제