Seberapa amankah menjalankan pekerjaan cron magento cron.php setiap menit?

11

Tentang Magento 1.9

Saya ingin menjalankan cron.php Magento setiap menit karena, saya ingin email penjualan dikirim secepat mungkin pada pesanan klien. Jadi selain fungsi email dapatkah seseorang memberi tahu saya apa yang dilakukan cron.php default dalam arti betapa bijaksananya menjalankannya setiap menit, dan jika kita menjalankannya setiap menit apa yang harus diperhatikan sebelum 1 menit menjadi masalah bagi pekerjaan ini.

Zertix.net
sumber

Jawaban:

8

Benar-benar aman - dan dalam sebagian besar kasus wajib, jika tidak maka pekerjaan bisa berakhir.

Pastikan Anda mengeksekusi cron.shtidakcron.php

Perhatikan bahwa keteraturan cron itu sendiri tidak akan menentukan kapan operasi cron berlangsung - modul itu sendiri yang melakukannya.

Misalnya. Menggunakan MageRun yang mengagumkan untuk membuat daftar tugas,

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

Anda dapat melihat bahwa di antara tugas-tugas tersebut, yang paling umum dalam daftar ini adalah setiap 5 menit. Yang berarti bahwa meskipun cron harus dikonfigurasi untuk berjalan setiap menit, itu tidak akan membuat perbedaan, newsletter_send_alldan xmlconnect_notification_send_allhanya akan berjalan setiap 5 menit.


Jika CLI bukan tas Anda, maka Anda dapat menggunakan Penjadwal Aoe (yang juga luar biasa) untuk memvisualisasikan timeline.

Ini akan membuat Anda melihat kapan tugas akan dijalankan, dan jika sedang dieksekusi atau dilewati.

Ben Lessani - Sonassi
sumber
Mengapa cron.sh melebihi cron.php?
Navarr
cron.sh memastikan bahwa hanya satu instance dari skrip berjalan pada saat itu
Wojtek Naruniec
1
Mungkin juga patut dicatat bahwa jika Anda tidak menjalankan Magento cron secara teratur seperti pekerjaan yang paling sering berjalan, tergantung pada timing cron Anda, Anda juga bisa mendapatkan 2 contoh pekerjaan yang sama berjalan pada waktu yang sama dan ini dapat menyebabkan masalah. Jadi saya setuju dengan Ben, menjalankannya setiap menit adalah ide terbaik maka Anda tahu situasi ini tidak akan pernah terjadi.
Jonathan Hussey
@ Jonathan Hussey: Sejauh yang saya tahu semua pekerjaan dieksekusi secara berurutan. Jadi, ketika Anda menjalankan scheduler dengan cron.sh Anda harus baik-baik saja. Bukan?
hellcode