Trước hết, đây là một câu hỏi / chủ đề khác về hàng đợi email 1.9.1. Nhưng nó không phải là về bất kỳ vấn đề cron nào (như thế này hay thế này ) hoặc về tính năng hàng đợi mới không được sử dụng (như thế này ).
Trong trường hợp của chúng tôi, chúng tôi đã gặp sự cố, rằng hàng đợi ( core_email_queue
và core_email_queue_recipients
) đơn giản là sẽ không nhận được bất kỳ email nào về đơn đặt hàng mới hoặc cập nhật đơn hàng và do đó không có email nào được gửi cho bất kỳ đơn hàng nào liên quan, cron cũng đang hoạt động hoàn hảo và thêm email vào hàng đợi hoạt động và họ được gửi đi.
Điều kỳ lạ là, trong môi trường thử nghiệm của chúng tôi, mọi thứ đều hoạt động. Ngay cả khi chúng tôi đã phát trực tiếp vào ngày hôm nay trong những phút đầu tiên, tất cả các email đã được xử lý nhưng sau một vài phút (tất nhiên không có bất kỳ sửa đổi nào trên hệ thống trực tiếp), không có thêm email mới nào được thêm vào hàng đợi. Có vẻ như điều này đã xảy ra (nhưng tôi không thể chắc chắn) khi khách hàng đầu tiên sử dụng PayPal Express, mà chúng tôi đã không kiểm tra trước: - / Và thực sự chúng tôi đã sử dụng một số ghi đè tùy chỉnh trong logic PayPal Express với sendNewOrderEmail()
chức năng cũ . Nhưng chúng tôi không thể nhận email để hoạt động trở lại ngay cả sau khi vá chúng để sử dụng queueNewOrderEmail()
.
Vì vậy, câu hỏi đầu tiên sẽ là, có thể là chức năng cũ đã kích hoạt một số mâu thuẫn 'phá vỡ' hàng đợi email? Hay tất cả chỉ là một sự trùng hợp lớn và có một lời giải thích hoàn toàn khác nhau?
Vì chúng tôi không thể tìm thấy vấn đề nhưng tất nhiên các email cần thiết để hoạt động trở lại càng sớm, chúng tôi đã chuyển sang ghi đè lõi khác. Trong Mage_Core_Model_Email_Template_Mailer
(tất nhiên là trong một bản sao local
), chúng tôi đã nhận xét dòng 76: ->setQueue($this->getQueue())
Điều này dường như bỏ qua hàng đợi và tất cả các thư được gửi lại theo cách cũ.
Tuy nhiên, vì chúng tôi muốn giữ số lượng phần ghi đè ở mức tối thiểu và chúng tôi cũng không thể biết ngay nếu chúng tôi sẽ phải đối mặt với bất kỳ tác dụng phụ nào khác, bất kỳ mẹo hoặc giải pháp nào khác từ những người có hiểu biết sâu hơn về mã magento và hàng đợi email sẽ được đánh giá cao.
Cập nhật cho 1.9.2: Khi nâng cấp lên 1.9.2, chúng tôi đã xem xét kỹ hơn về hàng đợi e-mail một lần nữa và không thể tái tạo vấn đề. Nhưng vì chúng ta vẫn chưa có manh mối thực sự về vấn đề với 1.9.1 là gì và vì việc ghi đè Mage_Core_Model_Email_Template_Mailer::send()
vẫn hoạt động theo cách được mô tả ở đây nên chúng ta vẫn không sử dụng hàng đợi. Bằng cách này, chúng tôi hy vọng không gặp lại vấn đề tương tự sau một thời gian sản xuất.
tl; dr: Hàng đợi email không hoạt động trong 1.9.1, nhận xét dòng 76 Mage_Core_Model_Email_Template_Mailer
bỏ qua hàng đợi email và thư được gửi lại nhưng đây không phải là một giải pháp tốt. Làm thế nào điều này có thể được giải quyết tốt hơn?
core
để đảm bảo mọi thứ không được tùy chỉnh hoặc tiện ích mở rộng được đặt ra và không thay đổi và nó là). Quyền phù hợp với thiết lập cũ và nhật ký / báo cáo được sạch sẽ.
core_email_queue_send_all
cũng chạy mỗi phút và từ đó chúng tôi thấy rằng nó thực sự được thực thi.
exception.log
hoặc có thểsystem.log
, có bất kỳ manh mối ở đó?