15
เรียกใช้งาน PHP แบบอะซิงโครนัส
ฉันทำงานกับเว็บแอปพลิเคชันที่ค่อนข้างใหญ่และแบ็กเอนด์ส่วนใหญ่เป็น PHP มีหลายที่ในรหัสที่ฉันต้องทำงานให้เสร็จ แต่ฉันไม่ต้องการให้ผู้ใช้รอผลลัพธ์ ตัวอย่างเช่นเมื่อสร้างบัญชีใหม่ฉันต้องส่งอีเมลต้อนรับให้พวกเขา แต่เมื่อพวกเขากดปุ่ม 'เสร็จสิ้นการลงทะเบียน' ฉันไม่ต้องการให้รอจนกว่าอีเมลจะถูกส่งจริงฉันแค่ต้องการเริ่มต้นกระบวนการและส่งข้อความกลับไปยังผู้ใช้ทันที จนถึงตอนนี้ในบางแห่งฉันใช้สิ่งที่รู้สึกเหมือนแฮ็คกับ exec () โดยทั่วไปการทำสิ่งต่าง ๆ เช่น: exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &"); ซึ่งดูเหมือนจะใช้งานได้ แต่ฉันสงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ ฉันกำลังพิจารณาที่จะเขียนระบบที่จัดคิวงานในตาราง MySQL และสคริปต์ PHP ที่ใช้งานมานานแยกต่างหากซึ่งจะสืบค้นตารางนั้นหนึ่งวินาทีและดำเนินงานใหม่ ๆ ที่พบ สิ่งนี้จะมีประโยชน์ในการให้ฉันแบ่งงานระหว่างเครื่องจักรของคนงานหลายคนในอนาคตถ้าฉันต้องการ ฉันกำลังคิดค้นวงล้ออีกครั้งหรือไม่? มีวิธีแก้ปัญหาที่ดีกว่าแฮ็ค exec () หรือคิว MySQL หรือไม่?