คำถามติดแท็ก batch-operations

3
batch API ทำงานอย่างไรภายใน
ฉันพบปัญหาการหมดเวลาโดยใช้การโยกย้ายในวันก่อนและเริ่มสงสัยว่าBatch APIทำงานอย่างไรภายใน วิธีที่ฉันเข้าใจก็คือในรูปแบบที่ง่ายที่สุดคุณจะผ่านอาร์เรย์ของค่า (ตัวอย่างเช่น nids) และฟังก์ชันเพื่อทำงานกับค่าเหล่านั้น batch API นั้นจะประมวลผลจำนวนค่าเหล่านั้นกับแต่ละคำขอจนกว่าจะเสร็จสิ้น เมื่อชุดทำงานหน้าดูเหมือนว่าจะใช้คำขอ Ajax เพื่อแสดงความคืบหน้าของการดำเนินงานแบทช์ (% เสร็จแล้วและข้อความ) ฉันถือว่ามันรอจนกว่าคำขอจะเสร็จสิ้นเพื่ออัปเดตความคืบหน้าจากนั้นเริ่มคำขอถัดไปทันทีหลังจากนั้นหรือไม่ ถ้าเพจที่มีการร้องขอแบตช์ถูกปิดการประมวลผลชุดจะหยุดหรือไม่ มันจะเริ่มต้นใหม่เมื่อเปิด URL เดียวกันอีกครั้งหรือไม่ บางครั้งโมดูลโอนย้ายยังคงดำเนินต่อไป แต่อาจใช้คิวหรือไม่

4
จะเพิ่มความเร็วในการปฏิบัติการ Batch API ได้อย่างไร
ฉันเคยพบเจอสิ่งนี้ทั้งกับโมดูล contrib ของบุคคลที่สามรวมถึงการดำเนินการบางอย่างของฉันเอง ฉันอยากรู้วิธีการต่าง ๆ เพื่อเร่งความเร็วการดำเนินการชุด / contrib ของฉันได้อย่างไร สมมติว่าพวกเขาทำงานกับโหนด (นำเข้า / อัพเดท ฯลฯ ) และเรากำลังจัดการกับการแยกรายการของโหนดในช่วง 10,000+ (แม้ว่าฉันจะต้องจัดการกับ 15 ล้านแถว .. ซึ่งใช่ - ฉันแค่เมา .) มันเร็วกว่าที่จะแนบกับงาน drupals cron.php และเรียกใช้ "หัวขาด" หรือไม่? ใช้ Drush ไหม หรือนี่เป็นเพียงคำถามว่าการแยกวิเคราะห์อย่างมีประสิทธิภาพและรวดเร็วฉันสามารถพัฒนาโค้ดของฉันได้อย่างไรและไม่มีอิทธิพลจากภายนอกหรือเคล็ดลับการเพิ่มประสิทธิภาพแบบเฉพาะเจาะจง ... ขณะนี้ฉันพบการทำงานที่ (ใช้การคำนวณคร่าวๆ) อาจใช้เวลา 24+ ชั่วโมง ... ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.