모든 이메일을 한 번만 보내도록 내 앱 사용자에게 이메일을 보내고 싶습니다. 이메일 전송을 데이터베이스에 기록합니다. 내가 작업의 순서로 사용하는 경우 : PHP와 MySQL에서 이메일을 트랜잭션화할 수 있습니까?
- 삽입을
- 커밋 기회 단지 (단계 # 메일을 보낸 후 밖으로 해당 스크립트 시간이 있습니다
2)와 커밋을하기 전에 (# 3 단계). 이 경우 1 단계의 변경 사항이 커밋되지 않으며 전자 메일을 보내는 작업에서 지난 번 전자 메일이 성공적으로 전송되었음을 알 수 없으므로 동일한 전자 메일이 다시 전송됩니다.
탈출구가 있습니까? 아니면 가끔씩 중복되는 이메일을 사용해야합니까?
왜 DB를 통해 전송되는 이메일을 추적하지 않습니까? 그래서 당신은 이메일을 다시 보내지 않습니까? 또한 예외 처리'try/catch' 메서드를 사용하여 시간 초과 작업을 시도하십시오. – Jakub
@Jakub, 웹 서버가 호출 한 스크립트가 너무 오래 실행되고 종료되어야한다고 결정할 때 스크립트 타임 아웃 i-e를 언급했습니다. try/catch가이 시나리오에서 도움이되는지 여부를 모르겠다. –
어떤 종류의 이메일을 보내 시간이 초과 되었습니까? 아니면 단순히 이메일로 보았던 부작용입니까? 호기심, 그리고 그 시나리오에서 try/catch 도움이되지 않습니다. – Jakub