Наскільки безпечно щомісяця запускати завдання magento cron.php?


11

Про Magento 1.9

Я хочу запускати cron.php Magento щохвилини, тому що, я хочу, щоб електронне повідомлення про продаж надсилалося якомога швидше за замовленням клієнта. Отже, крім функції електронної пошти, хтось може повідомити мені, що робить cron.php за замовчуванням у тому сенсі, як розумно запускати його щохвилини, і якщо ми запускаємо її щохвилини, про що слід знати, перш ніж 1 хвилина стає проблемою ці робочі місця.

Відповіді:


8

Повністю безпечний - і в більшості випадків обов'язковий, інакше робочі місця можуть пропуститись.

Просто переконайтеся , що ви виконуєте cron.shНЕcron.php

Зауважте лише, що регулярність самого крона не буде диктувати, коли відбуватимуться операції з кроном - сам модуль це робить.

Напр. Використовуючи дивовижний MageRun для переліку завдань,

[www-data@acc1 .microcloud ~]
[~]$ mr_examplecom sys:cron:list


  Cronjob List


+-----------------------------------------+------+----+----+----+----+
| Job                                     | m    | h  | D  | M  | WD |
+-----------------------------------------+------+----+----+----+----+
| aggregate_sales_report_bestsellers_data | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_coupons_data     | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_invoiced_data    | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_order_data       | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_refunded_data    | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_shipment_data    | 0    | 0  | *  | *  | *  |
| aggregate_sales_report_tax_data         | 0    | 0  | *  | *  | *  |
| captcha_delete_expired_images           | */10 | *  | *  | *  | *  |
| captcha_delete_old_attempts             | */30 | *  | *  | *  | *  |
| catalog_product_alert                   |      |    |    |    |    |
| catalog_product_index_price_reindex_all | 0    | 2  | *  | *  | *  |
| catalogrule_apply_all                   | 0    | 1  | *  | *  | *  |
| core_clean_cache                        | 30   | 2  | *  | *  | *  |
| currency_rates_update                   |      |    |    |    |    |
| log_clean                               |      |    |    |    |    |
| newsletter_send_all                     | */5  | *  | *  | *  | *  |
| paypal_fetch_settlement_reports         |      |    |    |    |    |
| persistent_clear_expired                | 0    | 0  | *  | *  | *  |
| sales_clean_quotes                      | 0    | 0  | *  | *  | *  |
| sitemap_generate                        |      |    |    |    |    |
| system_backup                           |      |    |    |    |    |
| xmlconnect_notification_send_all        | */5  | *  | *  | *  | *  |
+-----------------------------------------+------+----+----+----+----+

Ви бачите, що серед завдань найбільш регулярні в цьому списку - кожні 5 хвилин. Що означає, що навіть якби крон був налаштований на запуск кожної хвилини, це не мало би значення, оскільки newsletter_send_allі xmlconnect_notification_send_allпрацюватиме лише кожні 5 хвилин.


Якщо CLI - це не ваша сумка, ви можете використовувати (настільки ж чудовий) Aoe Scheduler для візуалізації часової шкали.

Це дозволить вам побачити, коли завдання мають виконуватися і якщо вони виконуються чи пропускаються.


Чому cron.sh над cron.php?
Наварр

cron.sh гарантує, що в цей час працює лише один екземпляр сценарію
Войтек Нарунець

1
Можливо, також варто відзначити, що якщо у вас не працює Cgent Magento так регулярно, як найчастіше запущена робота, залежно від хронометражу ви також можете отримати одночасно два екземпляри однієї роботи, і це може спричинити проблеми. Тож я погодився б з Бену, адже бігати щохвилини - найкраща ідея, тоді ви знаєте, що така ситуація ніколи не може відбутися
Джонатан Хуссі

@ Джонатан Хуссі: Наскільки я знаю, усі завдання виконуються послідовно. Отже, коли ви запускаєте планувальник з cron.sh, ви повинні добре. Чи не так?
hellcode
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.