ผมกำลังเขียนหน้าเวปสำหรับดูค่าของเครื่องวัดเสียง โดยดึงค่าจาก DB มา และรวมกับข้อมูลใน Excel file โดยใช้ Nodejs ในการโหลด

การโหลด Excel file จะโหลดครั้งแรกแค่ตอนที่เริ่มทำงาน หลังจากนั้นจะเริ่มวนไป Query DB มาจับคู่กับข้อมูลใน Excel เพื่อพ่นออกไปเป็น Json เป็นข้อมูลที่สมบูรณ์

ทีนี้พบปัญหา หลังจากทำการอัพเดทข้อมูลใน Excel file และ Restart โปรแกรม ปรากฏว่าข้อมูลใน json ไม่อัพเดทตาม ทั้ง ๆ ที่ Restart โปรแกรมไปแล้ว

ที่แปลกไปกว่า คือ มันอัพเดทสลับกัน ข้อมูลเก่ากับข้อมูลใหม่ สลับไปมา เอาละสิ ยิ่งงงไปใหญ่

หาอยู่สองชั่วโมง ถึงเพิ่งนึกได้ว่า เอ๊ะ หรือว่ามี Nodejs อันเก่าที่เคยสั่งรันไปแล้วมันรันอยู่ เลยแย่งกันเขียน Json ทำให้สลับกันไปมา

ลองเช็คดูผ่าน Terminal ปรากฏว่า มีรันอยู่เพียบ 5555

สั่งปิดหมดแล้วรันใหม่ ข้อมูลอัพเดทตามที่ควรจะเป็นเรียบร้อย เสียเวลาชีวิตไปสองชั่วโมงกว่า

ถามว่าทำไมต้องเขียนไว้เป็น json คือเมื่อก่อนใช้ Query ตรงไปที่ DB ทีนี้พอคนเข้าเยอะ ๆ connection มันก็เยอะตาม กลายเป็น load เยอะแล้วอืด

เลยปรับเป็นรัน nodejs ดึง DB มา เขียนลง json แล้วให้ Frontend มาอ่าน Json file นี้แทนเพื่อไม่ให้ DB Load เกินไป

ด้วยประการละฉะนี้

อุทาหรณ์สอนDev : เช็คก่อนว่าก่อนหน้ามีอะไรรันอยู่บ้าง

อุทาหรณ์สอน dev เช็คก่อนว่า node instance อะไรรันอยู่ก่อนบ้าง ก่อนจะรันที่ตัวเองทำอยู่ จะได้ไม่เสียเวลาสองชั่วโมง 😂

— sparkpluck89 (@cb.ax) November 25, 2024 at 11:42 PM