Перш за все так, це ще одне питання / тема щодо черги електронної пошти 1.9.1. Але мова не йде про якісь проблеми з кроном (на кшталт цього чи цього ) або про те, що нова функція черги не використовується (як ця ).
У нашому випадку у нас виникла проблема, що в черзі ( 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())
Це, здається, обходить чергу, і всі листи знову надсилаються старим способом.
Однак, як ми хотіли б звести до мінімуму кількість основних змін, і ми також не можемо зараз сказати, чи будемо стикатися з будь-якими іншими побічними ефектами, будь-якими іншими порадами чи рішеннями від людей, які глибше розуміють код magento та Черга електронної пошти буде вдячна.
Оновлення для 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
, чи є там якісь підказки?