Làm thế nào an toàn để chạy công việc cron.php cron.php mỗi phút?


11

Giới thiệu về Magento 1.9

Tôi muốn chạy cron.php của Magento mỗi phút bởi vì, tôi muốn email bán hàng được gửi sớm nhất có thể theo yêu cầu của khách hàng. Vì vậy, bên cạnh chức năng email, ai đó có thể cho tôi biết cron.php mặc định làm gì theo nghĩa là nó khôn ngoan như thế nào khi chạy nó mỗi phút và nếu chúng ta chạy nó mỗi phút thì điều gì cần biết trước 1 phút sẽ trở thành vấn đề đối với những công việc này.

Câu trả lời:


8

Hoàn toàn an toàn - và trong hầu hết các trường hợp bắt buộc, nếu không các công việc cuối cùng có thể bị bỏ qua.

Chỉ cần chắc chắn rằng bạn đang thực hiện cron.shkhôngcron.php

Chỉ cần lưu ý rằng tính thường xuyên của chính cron sẽ không ra lệnh khi các hoạt động cron diễn ra - chính mô-đun thực hiện điều đó.

Ví dụ. Sử dụng MageRun tuyệt vời để liệt kê các nhiệm vụ,

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

Bạn có thể thấy rằng trong số các nhiệm vụ, thường xuyên nhất trong danh sách này là cứ sau 5 phút. Điều đó có nghĩa là ngay cả khi cron được cấu hình để chạy mỗi phút, nó sẽ không tạo ra sự khác biệt, newsletter_send_allxmlconnect_notification_send_allsẽ chỉ chạy cứ sau 5 phút.


Nếu CLI không phải là túi của bạn, thì bạn có thể sử dụng Trình lập lịch biểu Aoe (cũng tuyệt vời không kém) để trực quan hóa dòng thời gian.

Điều này sẽ cho bạn biết khi nào các tác vụ là do chạy và nếu chúng đang được thực thi hoặc bỏ qua.


Tại sao cron.sh hơn cron.php?
Navarr

cron.sh đảm bảo rằng chỉ có một phiên bản của tập lệnh chạy vào thời điểm đó
Wojtek Naruniec

1
Có lẽ cũng đáng lưu ý rằng nếu bạn không có Magento cron chạy thường xuyên như công việc thường xuyên nhất, tùy thuộc vào thời gian định kỳ của bạn, bạn cũng có thể có 2 trường hợp của cùng một công việc chạy cùng một lúc và điều này có thể gây ra sự cố. Vì vậy, tôi sẽ đồng ý với Ben, để nó chạy mỗi phút là ý tưởng tốt nhất thì bạn biết tình huống này không bao giờ có thể xảy ra.
Jonathan Hussey

@Jonathan Hussey: Theo tôi biết tất cả các công việc được thực hiện tuần tự. Vì vậy, khi bạn chạy bộ lập lịch với cron.sh, bạn sẽ ổn thôi. Phải không?
hellcode
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.