การตั้งค่า Magento Advanced / System / Cron *


9

สรุป

ดังนั้นฉันต้องการยืนยันความเข้าใจของฉันเกี่ยวกับการกำหนดค่า cron กับ Magento; ภายใต้คอนโซลผู้ดูแลระบบSystem > Configuration > Advanced > System > Cron:

สร้างตารางทุก ๆ #

ฉันไม่แน่ใจว่าการตั้งค่านี้เกี่ยวข้องกับอะไร

กำหนดการล่วงหน้าสำหรับ #

ฉันสมมติว่าจะกำหนด # ล่วงหน้าของ crons หากตัวกำหนดตารางเวลา cron ถูกกำหนดค่าในแท็บ cron เพื่อให้ทำงานทุก ๆ 5 นาทีหมายเลขนี้ควรถูกกำหนดเป็น5หรือ Magento จะไม่กำหนดเวลางานที่กำหนดไว้แล้วหรือไม่

พลาดถ้าไม่ทำงานภายใน #

ดูเหมือนว่าฉันจะบอกว่าเมื่อ cron มีกำหนดให้ทำงานและไม่ได้ดำเนินการภายใน # นาทีมันถูกตั้งค่าเป็น 'พลาด'

ล้างประวัติทุก #

ฉันคิดว่ามันควรจะวิ่งผ่านcron_Scheduleโต๊ะและล้างตารางที่พลาดและดำเนินการทั้งหมด # นาทีหลังจากที่พวกเขาถูกประหาร / พลาด?

ประวัติความสำเร็จอายุการใช้งาน #

เกี่ยวกับการกำหนดค่าก่อนหน้านี้ฉันคิดว่านี่จะเป็นการล้างกำหนดการที่ประสบความสำเร็จทั้งหมดหลังจาก # นาที

อายุการใช้งานล้มเหลวประวัติ #

ฉันคิดว่านี่จะล้างตารางเวลาที่ไม่ได้รับทั้งหมดหลังจาก # นาที จากนั้นการhistory cleanup every #, success history and failure historyตั้งค่าทั้งหมดจะไม่ชัดเจนทั้งหมด

คำตอบ:


7

สิ่งที่ทำให้เกิดความสับสนเกี่ยวกับบริการ cron ของวีโอไอพีคือในขณะที่พวกเขาได้รับการเรียกใช้โดย cron ระบบพวกเขาจะถูกแยกออกไปอีกระดับหนึ่งในรูปแบบเหตุการณ์ / ผู้สังเกตการณ์ที่พบได้ทั่วไปใน Magento

เมื่อคุณเข้าใจสิ่งนี้การตั้งค่าก็สมเหตุสมผลดี หากคุณต้องการที่จะเห็นสิ่งที่พวกเขาทำอย่างแน่นอนการใช้งานของพวกเขาค่อนข้างชัดเจนapp/code/core/Mage/Cron/Model/Observer.phpซึ่งเป็นผู้สังเกตการณ์ที่ได้รับการเรียกสำหรับdefaultเหตุการณ์ในcrontabขอบเขตและในทางกลับกันส่งงานที่กำหนดเวลาทั้งหมด

  • สร้างตารางทุก ๆช่วงเวลานาทีที่วีโอไอพีจะจัดตารางเวลางานในอนาคต ไม่ได้กำหนดเวลางานโดยอัตโนมัติระหว่างการดำเนินการทุกครั้ง
  • กำหนดเวลาล่วงหน้าเป็นเวลา: นาทีในอนาคตที่สามารถจัดตารางเวลางานได้ (เพิ่มในcron_scheduleคิวฐานข้อมูล)
  • พลาดหากไม่ทำงานภายใน : นาทีที่ผ่านมาเวลาที่กำหนดไว้ที่งานจะยังคงสามารถดำเนินการได้ก่อนที่จะมีสถานะเป็นmissedซึ่งเข้ามาเล่นถ้าคิวใช้เวลานานในการผ่านงานทั้งหมดที่ได้รับเลือกให้ทำงานในระหว่าง การดำเนินการปัจจุบันของMage_Cron_Model_Observer::dispatch()(เวลาที่กำหนดของพวกเขาคือตอนนี้หรือก่อนหน้า)
  • ล้างประวัติทุกช่วงเวลา: เมื่อวีโอไอพีจะทำการล้างข้อมูลในcron_scheduleคิวฐานข้อมูลโดยอ้างอิงการตั้งค่าด้านล่างเกี่ยวกับการเก็บรักษา
  • ประวัติความสำเร็จอายุการใช้งาน & ประวัติความล้มเหลวอายุการใช้งาน : นาทีในอนาคตที่จะเก็บระเบียนไว้ในคิวหลังจากที่พวกเขามาถึงสถานะเหล่านี้แล้ว สิ่งนี้เข้ามาเล่นถ้าคุณต้องการเห็นผลลัพธ์ของงานที่ผ่านมาเนื่องจากพวกเขาอาจวางผลลัพธ์ลงในcron_schedule.messagesซึ่งจะเป็นประโยชน์โดยเฉพาะอย่างยิ่งในกรณีของerrorสถานะ

ทำไมถ้ามีการเปลี่ยนแปลงล่วงหน้า _for_scehdule จาก 1 ถึง 10 จะไม่มีการเพิ่มกำหนดการใน crontab อีก
LucScu

ค่าเริ่มต้นคือ:schedule_generate_every 15 schedule_ahead_for 20 schedule_lifetime 15 history_cleanup_every 10 history_success_lifetime 60 history_failure_lifetime 600
Collin Anderson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.