每分钟运行magento cron.php cron作业有多安全?


11

关于Magento 1.9

我想每分钟运行一次Magento的cron.php,因为我希望在客户订单上尽快发送销售电子邮件。因此,除了电子邮件功能之外,有人可以让我知道默认的cron.php在每分钟运行一次它的明智程度,如果我们每分钟运行一次,那么在1分钟之前要注意的问题成为这些工作。

Answers:


8

完全安全-在大多数情况下是强制性的,否则作业可能最终被跳过。

只要确保你正在执行cron.shcron.php

请注意,cron本身的规律性不会决定何时进行cron操作-模块本身会做到这一点。

例如。使用超棒的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分钟一次。其进行配置,以每分钟运行,即使是cron的手段,它不会有所作为,因为newsletter_send_allxmlconnect_notification_send_all将只运行每5分钟。


如果您不希望使用CLI,则可以使用(同样出色的Aoe Scheduler可视化时间轴。

这将使您看到任务应在何时运行,以及它们是否正在执行或跳过。


为什么用cron.sh而不是cron.php?
Navar's

cron.sh确保当时仅运行脚本的一个实例
Wojtek Naruniec 2015年

1
也许还值得注意的是,如果您没有Magento cron像最频繁运行的作业那样定期运行,则根据您的cron时序,您也可能同时获得同一作业的2个实例,这可能会引起问题。因此,我同意Ben的观点,让它每分钟运行是最好的主意,然后您就知道这种情况永远不会发生。
乔纳森·侯赛

@乔纳森·侯赛(Jonathan Hussey):据我所知,所有作业都是按顺序执行的。因此,当您使用cron.sh运行调度程序时,应该没问题。是不是
hellcode 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.