Jak bezpieczne jest uruchamianie zadania cron magento cron.php co minutę?

11

O Magento 1.9

Chcę uruchamiać cron.php Magento co minutę, ponieważ chcę, aby e-mail sprzedaży był wysyłany jak najszybciej na zamówienie klienta. Poza tym funkcja e-mail może dać mi znać, co robi domyślny plik cron.php w sensie, jak rozsądnie jest uruchamiać go co minutę, a jeśli uruchamiamy go co minutę, to o czym należy wiedzieć przed 1 minutą, staje się problem te prace.

Zertix.net
źródło

Odpowiedzi:

8

Całkowicie bezpieczny - i w większości przypadków obowiązkowy, w przeciwnym razie zadania mogą zostać pominięte.

Tylko upewnij się, że cron.shnie wykonujeszcron.php

Zauważ tylko, że regularność samego crona nie będzie decydować o tym, kiedy mają miejsce operacje crona - sam moduł to robi.

Na przykład. Używając niesamowitego MageRun do listy zadań,

[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  | *  | *  | *  | *  |
+-----------------------------------------+------+----+----+----+----+

Widać, że spośród zadań najbardziej regularne na tej liście są co 5 minut. Co oznacza, że nawet jeśli cron miały być skonfigurowany do uruchomienia co minutę, to nie zrobi różnicy, jak newsletter_send_alli xmlconnect_notification_send_allbędzie działać tylko co 5 minut.


Jeśli CLI nie jest twoją torbą, możesz użyć (równie niesamowitego) harmonogramu Aoe do wizualizacji osi czasu.

Umożliwi to sprawdzenie, kiedy zadania mają zostać uruchomione oraz czy są one wykonywane lub pomijane.

Ben Lessani - Sonassi
źródło
Dlaczego cron.sh zamiast cron.php?
Navarr,
cron.sh dba o to, aby w tym czasie
działała
1
Być może warto również zauważyć, że jeśli nie masz uruchomionego Magento crona tak regularnie, jak najczęściej uruchamiane zadanie, w zależności od taktowania crona możesz również uruchomić 2 instancje tego samego zadania w tym samym czasie, co może powodować problemy. Zgadzam się więc z Benem, że uruchamianie go co minutę jest najlepszym pomysłem, więc wiesz, że taka sytuacja nigdy się nie zdarzy.
Jonathan Hussey
@Jonathan Hussey: O ile wiem, wszystkie zadania są wykonywane sekwencyjnie. Więc kiedy uruchomisz program planujący z cron.sh, powinieneś być w porządku. Czyż nie
kod piekła