우선, 이것은 1.9.1 이메일 대기열에 대한 또 다른 질문 / 주제입니다. 그러나 이것은 cron 문제 ( 이 또는 this 와 같은 ) 또는 사용되지 않는 새로운 대기열 기능 (이와 같은 )에 관한 것이 아닙니다 .
우리의 경우 대기열 ( core_email_queue
및 core_email_queue_recipients
)이 단순히 새로운 주문 또는 주문 업데이트에 대한 이메일을받지 못하므로 주문과 관련된 이메일이 더 이상 발송되지 않으며 cron이 이메일을 완벽하고 수동으로 추가합니다. 대기열이 작동하고 발송됩니다.
이상한 점은 테스트 환경에서 모든 것이 작동한다는 것입니다. 오늘 처음 몇 분 만에 라이브를 시작하더라도 모든 이메일이 처리되었지만 몇 분 후에 (실제 시스템에서 추가 수정없이) 더 이상 새로운 이메일이 대기열에 추가되지 않았습니다. 첫 번째 고객이 PayPal Express를 사용했을 때 이런 일이 일어났던 것 같습니다 (그러나 확실하게 말할 수는 없습니다). 우리는 사전에 테스트하지 않았습니다 :-/ 실제로 PayPal Express 논리에서 이전 sendNewOrderEmail()
기능으로 일부 사용자 정의 재정의를 사용하고있었습니다 . 하지만 사용하도록 패치 한 후에도 이메일이 다시 작동하지 않습니다 queueNewOrderEmail()
.
따라서 첫 번째 질문은 이전 함수가 '파산'하는 일부 불일치를 유발할 수 있다는 것입니다. 이메일 대기열? 아니면 이것은 모두 큰 우연의 일치이며 완전히 다른 설명이 있습니까?
우리는 문제를 찾을 수 없었지만 당연히 다시 작동하려면 이메일이 필요했습니다. 또 다른 핵심 재정의를 했어요. 에서 Mage_Core_Model_Email_Template_Mailer
(의 복사본 물론 local
:) 우리는 라인 (76) 주석 ->setQueue($this->getQueue())
이 큐 우회 보인다 모든 메일이 다시 옛날 방식을 전송받을합니다.
그러나 핵심 재정의 횟수를 최소로 유지하고 다른 부작용, 마 젠토 코드에 대한 깊은 이해를 가진 사람들의 다른 팁 또는 솔루션에 직면 할 것인지 지금 알 수 없습니다. 이메일 대기열을 부탁드립니다.
1.9.2 업데이트 : 1.9.2로 업그레이드하면 전자 메일 대기열을 다시 자세히 살펴보고 문제를 재현 할 수 없었습니다. 그러나 우리는 여전히 1.9.1의 문제가 무엇인지 실제로 알지 못하므로 재정의가 Mage_Core_Model_Email_Template_Mailer::send()
여전히 설명 된 방식으로 작동하므로 여전히 큐를 사용하지 않습니다. 이런 식으로 우리는 생산 시간이 지난 후에도 같은 문제가 다시 발생하지 않기를 바랍니다.
tl; dr : 이메일 대기열이 1.9.1에서 작동하지 않고 76 줄을 주석 처리 Mage_Core_Model_Email_Template_Mailer
하면 이메일 대기열 을 무시하고 메일이 다시 전송되지만 좋은 해결책은 아닙니다. 이 문제를 어떻게 더 잘 해결할 수 있습니까?
core
되어 있는지 의심됩니다 ( 사용자 정의되지 않은 모든 항목 또는 확장 기능이 있고 수정되지 않은 상태 임). 권한이 이전 설정과 일치하고 로그 / 보고서가 깨끗합니다.
core_email_queue_send_all
매분마다 실행되도록 설정 한 Aoe_Scheduler를 사용 하고 실제로 실행되는 것을 볼 수 있습니다.
exception.log
또는 가능성system.log
, 단서가있다?