सबसे पहले हां, यह 1.9.1 ईमेल कतार के बारे में एक और सवाल / विषय है। लेकिन यह किसी भी क्रॉन समस्याओं के बारे में नहीं है (जैसे कि यह या यह ) या नई कतार की सुविधा के बारे में नहीं है (जैसे यह )।
हमारे मामले में हमें समस्या थी, कि कतार ( core_email_queueऔर core_email_queue_recipients) को नए ऑर्डर या ऑर्डर अपडेट पर कोई ईमेल नहीं मिलेगा और इसलिए कोई भी ईमेल संबंधित आदेश के लिए बाहर नहीं भेजा गया, क्रोन भी पूरी तरह से काम कर रहा है और मैन्युअल रूप से ईमेल जोड़ रहा है कतार काम करती है और वे बाहर भेजे जाते हैं।
अजीब बात है, हमारे परीक्षण के माहौल में सब कुछ काम किया। यहां तक कि जब हम आज पहले मिनट में लाइव हुए तो सभी ईमेल संसाधित हो गए लेकिन कुछ मिनटों (लाइव सिस्टम पर कोई और संशोधन किए बिना) के बाद कतार में कोई और नया ईमेल नहीं मिला। ऐसा लगता है कि ऐसा हुआ (लेकिन मैं निश्चित रूप से नहीं बता सकता) जब पहली ग्राहक ने पेपाल एक्सप्रेस का इस्तेमाल किया था, जिसे हमने पहले से परीक्षण नहीं किया था: - / और वास्तव में हम पुराने 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 में काम नहीं कर रही है Mage_Core_Model_Email_Template_Mailer। ईमेल कतार और डाक को बायपास करने में लाइन 76 पर टिप्पणी करते हुए फिर से भेजा जाता है लेकिन यह एक अच्छा समाधान नहीं लगता है। इसे बेहतर तरीके से कैसे हल किया जा सकता है?
coreअलग हैं जो सब कुछ सुनिश्चित करने के लिए है जो कि अनुकूलित या विस्तार नहीं है और unmodified और यह है)। अनुमतियाँ पुराने सेट अप से मेल खाती हैं और लॉग / रिपोर्ट साफ हैं।
core_email_queue_send_allहर मिनट भी चलाते हैं और जहां से हम देखते हैं कि यह वास्तव में निष्पादित होता है।
exception.logया संभवतsystem.log:, वहाँ कोई सुराग है?