¿Qué tan seguro es ejecutar el trabajo cron de magento cron.php cada minuto?

11

Sobre Magento 1.9

Quiero ejecutar cron.php de Magento cada minuto porque quiero que el correo electrónico de ventas se envíe lo antes posible en el pedido del cliente. Entonces, además de la función de correo electrónico, ¿alguien puede decirme qué hace el cron.php predeterminado en el sentido de lo inteligente que es ejecutarlo cada minuto? estos trabajos.

Zertix.net
fuente

Respuestas:

8

Completamente seguro, y en la mayoría de los casos obligatorio, de lo contrario los trabajos pueden terminar siendo omitidos.

Sólo asegúrese de que está ejecutando cron.shnocron.php

Solo tenga en cuenta que la regularidad del cron en sí no dictará cuándo se realizarán las operaciones cron; el módulo en sí lo hace.

P.ej. Usando el increíble MageRun para enumerar tareas,

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

Puede ver que entre las tareas, la más regular en esta lista es cada 5 minutos. Lo que significa que incluso si se la cron para ser configurados para ejecutar cada minuto, no haría una diferencia, como newsletter_send_ally xmlconnect_notification_send_allsólo salen cada 5 minutos.


Si CLI no es su bolso, entonces puede usar (igualmente impresionante) Aoe Scheduler para visualizar la línea de tiempo.

Esto le permitirá ver cuándo se deben ejecutar las tareas y si se están ejecutando u omitiendo.

Ben Lessani - Sonassi
fuente
¿Por qué cron.sh sobre cron.php?
Navarra
cron.sh se asegura de que solo se ejecute una instancia del script en ese momento
Wojtek Naruniec
1
Quizás también valga la pena señalar que si no tiene Magento cron ejecutándose tan regularmente como el trabajo que se ejecuta con más frecuencia, dependiendo de los tiempos de cron también puede obtener 2 instancias del mismo trabajo ejecutándose al mismo tiempo y esto puede causar problemas. Así que estaría de acuerdo con Ben, tenerlo funcionando cada minuto es la mejor idea, entonces sabes que esta situación nunca puede ocurrir.
Jonathan Hussey
@ Jonathan Hussey: Hasta donde yo sé, todos los trabajos se ejecutan secuencialmente. Entonces, cuando ejecuta el planificador con cron.sh, debería estar bien. ¿No es así?
código infernal