ก่อนอื่นใช่นี่เป็นคำถาม / หัวข้ออื่นเกี่ยวกับคิวอีเมล 1.9.1 แต่มันไม่เกี่ยวกับปัญหา cron ใด ๆ (เช่นนี้หรือสิ่งนี้ ) หรือเกี่ยวกับคุณสมบัติของคิวใหม่ที่ไม่ได้ใช้งาน (เช่นนี้ )
ในกรณีของเราเราพบปัญหาว่าคิว ( 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
ให้ทำงานทุกนาทีและจากที่เราเห็นว่ามันถูกเรียกใช้จริง
exception.log
หรืออาจsystem.log
จะมีเบาะแสใด ๆ มี?