Перш за все так, це ще одне питання / тема щодо черги електронної пошти 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, чи є там якісь підказки?