Her şeyden önce evet, bu 1.9.1 e-posta kuyruğu ile ilgili başka bir soru / konu. Ama öyle değil (gibi herhangi bir cron sorunlar hakkında ilgili bu ya bu ) veya (gibi kullanılmayan yeni kuyruk özelliği hakkında bu ).
Bizim durumumuzda, sorunun ( core_email_queue
ve core_email_queue_recipients
) sıranın sadece yeni siparişlerde veya sipariş güncellemelerinde herhangi bir e-posta almaması ve bu nedenle ilgili herhangi bir sipariş için artık e-posta gönderilmemesi, cron'un e-postaları mükemmel ve manuel olarak eklemesi sıra çalışır ve gönderilir.
İşin garibi, test ortamımızda her şey çalıştı. Bugün ilk dakikalarda canlı yayına girsek bile, tüm e-postalar işlendi, ancak birkaç dakika sonra (tabii ki canlı sistemde herhangi bir değişiklik yapılmadan) sıraya yeni e-postalar eklenmedi. İlk müşteri, önceden test etmediğimiz PayPal Express'i kullandığında, böyle oldu (ama kesin olarak söyleyemem), eskiden beri PayPal Express mantığında bazı özel geçersiz kılmalar kullanıyorduk sendNewOrderEmail()
. Ancak kullanmak için yama yaptıktan sonra bile e-postaları tekrar çalıştıramadık queueNewOrderEmail()
.
Dolayısıyla ilk soru, eski fonksiyonun 'kırılan' tutarsızlığı tetiklemesi mümkün olabilirdi. e-posta sırası? Yoksa bu sadece büyük bir tesadüf mü ve tamamen farklı bir açıklama mı var?
Sorunu bulamadığımız için ama elbette en kısa sürede tekrar çalışmak için e-postalara ihtiyaç duyduk. İçinde Mage_Core_Model_Email_Template_Mailer
(elbette bir kopyasında local
) 76 satırını yorumladık: ->setQueue($this->getQueue())
Bu kuyruğu atlıyor gibi görünüyor ve tüm postalar yine eski yoldan gönderiliyor.
Bununla birlikte, çekirdek geçersiz kılma sayısını en aza indirgemek istediğimizden ve şu anda başka herhangi bir yan etkiyle karşılaşacağımızı, magento kodunu ve e-posta kuyruğu takdir edilecektir.
1.9.2 güncellemesi: 1.9.2 güncellemesinde e-posta kuyruğuna tekrar daha yakından baktık ve sorunu tekrar oluşturamadık. Ancak, 1.9.1 ile ilgili sorunun ne olduğu hakkında hala hiçbir ipucumuz olmadığı için ve geçersiz kılmanın Mage_Core_Model_Email_Template_Mailer::send()
hala burada tarif edilen şekilde çalıştığı gibi hala kuyruğu kullanmıyoruz. Bu şekilde, üretimde bir süre sonra tekrar aynı problemde yaşamamayı umuyoruz.
tl; dr: E-posta kuyruğu 1.9.1'de çalışmıyor, satır 76'daki Mage_Core_Model_Email_Template_Mailer
açıklamaları e-posta kuyruğunu atlıyor ve postalar tekrar gönderiliyor ancak bu iyi bir çözüm gibi görünmüyor. Bu nasıl daha iyi çözülebilir?
core
yapılmamıştı. değiştirilmemiş ve öyle). İzinler eski ayarları eşleştirir ve günlükler / raporlar temizdir.
core_email_queue_send_all
her dakikayı da koştuğumuz ve gerçekte idam edildiğini gördüğümüz yerden Aoe_Scheduler kullandığımızı (ve her zaman kullandığımızı) eklemeliyim .
exception.log
da muhtemelensystem.log
orada herhangi bir ipucu var mı?