Przede wszystkim tak, to kolejne pytanie / temat dotyczący kolejki e-mail 1.9.1. Ale to nie jest temat o problemach cron (jak ten lub ten ) lub o nowej funkcji kolejki nie są używane (jak ten ).
W naszym przypadku mieliśmy problem z tym, że kolejka ( core_email_queue
i core_email_queue_recipients
) po prostu nie otrzymywała żadnych e-maili o nowych zamówieniach lub aktualizacjach zamówień, a zatem nie wysyłano już żadnych e-maili w związku z zamówieniami, również cron działa idealnie i ręcznie dodaje e-maile do kolejka działa i zostają wysłani.
Dziwne jest to, że w naszym środowisku testowym wszystko działało. Nawet kiedy dzisiaj zaczęliśmy działać w ciągu pierwszych minut, wszystkie e-maile zostały przetworzone, ale po kilku minutach (oczywiście bez żadnych dalszych modyfikacji w systemie na żywo) nie pojawiły się żadne nowe e-maile w kolejce. Wygląda na to, że tak się stało (ale nie jestem tego pewien), kiedy pierwszy klient użył PayPal Express, którego wcześniej nie testowaliśmy: - / I rzeczywiście używaliśmy niestandardowych przesłonięć w logice PayPal Express ze starą sendNewOrderEmail()
funkcją. Ale nie mogliśmy ponownie uruchomić wiadomości e-mail, nawet po ich poprawieniu queueNewOrderEmail()
.
Pierwsze pytanie brzmiałoby: czy możliwe jest, że stara funkcja wywołała pewną niespójność, która „zepsuła się” kolejka e-mail? A może to tylko wielki zbieg okoliczności i istnieje zupełnie inne wytłumaczenie?
Ponieważ nie mogliśmy znaleźć problemu, ale oczywiście potrzebowaliśmy ponownie e-maili, jak najszybciej, postanowiliśmy zastąpić inny rdzeń. W Mage_Core_Model_Email_Template_Mailer
(oczywiście w kopii w local
) skomentowaliśmy linię 76: ->setQueue($this->getQueue())
Wydaje się, że omija ona kolejkę i wszystkie wiadomości są ponownie wysyłane w stary sposób.
Jednakże, ponieważ chcielibyśmy ograniczyć liczbę zastąpień rdzenia do minimum, a także nie możemy w tej chwili powiedzieć, czy napotkamy jakiekolwiek inne skutki uboczne, jakiekolwiek inne wskazówki lub rozwiązania od osób z głębszym zrozumieniem kodu magento i mile widziane będą kolejki e-mail.
Aktualizacja do wersji 1.9.2: Po aktualizacji do wersji 1.9.2 ponownie przyjrzeliśmy się kolejce e-mail i nie byliśmy w stanie odtworzyć problemu. Ponieważ jednak nadal nie mamy pojęcia, na czym polegał problem z wersją 1.9.1, a ponieważ nadpisywanie Mage_Core_Model_Email_Template_Mailer::send()
nadal działa w opisany tutaj sposób, nadal nie korzystamy z kolejki. W ten sposób mamy nadzieję, że po jakimś czasie produkcji nie powtórzymy tego samego problemu.
tl; dr: Kolejka e-mail nie działa w wersji 1.9.1, komentowanie linii 76 w Mage_Core_Model_Email_Template_Mailer
kolejce pomija kolejkę e-mail i e-maile są wysyłane ponownie, ale nie wydaje się to dobrym rozwiązaniem. Jak można to lepiej rozwiązać?
core
itp., Aby upewnić się, że wszystko, co nie jest dostosowane lub rozszerzenie jest na miejscu i niezmodyfikowany i tak jest). Uprawnienia są zgodne ze starą konfiguracją, a dzienniki / raporty są czyste.
core_email_queue_send_all
także uruchamianie co minutę i od miejsca, w którym widzimy, że faktycznie zostanie wykonany.
exception.log
ewentualniesystem.log
, czy są jakieś tropy tam?