ตัวช่วยให้รัน Node.js ตลอด แม้ว่าตายก็ถูกปลุกขึ้นมารันต่อ

ตัวช่วยให้รัน Node.js ตลอด แม้ว่าตายก็ถูกปลุกขึ้นมารันต่อ

จากบทความเก่า ก็จะมี command ที่สั่งให้ node.js ยาวๆไปได้ http://meewebfree.com/site/nodejs/457-linux-command-permanent-run-program-node แต่ว่าปัญหาคือ บางครั้ง node.js ที่เราเขียน เกิดการทำงานบางอย่างผิดพลาดทำให้ ตายไป แล้วระบบก็หยุดทำงานหรืออาจจะพังไปเลย แต่ว่าตอนนี้(จริงมีมานานแล้วล่ะ ผมก็ใช้มานานแล้ว) มีตัวช่วยงานเรา ก็คือ จะช่วยเรา Monitor node ทั้งหมด ตลอดเวลาแทนเรา ถ้าตัวไหนตายไป มันจะ start ขึ้นมาทำงานต่อทันที พร้อมทั้งมี report ดู real time ได้และมี Log การทำงานและ error เก็บเอาไว้ให้เราอีกด้วย

ตัวที่ว่านี้ก็คือ PM2 วิธีการติดตั้ง ให้สั่ง

npm install pm2 -g

หลังจากที่ติดตั้งเสร็จแล้ว เวลาจะใช้งาน ให้เราเรียกไฟล์ เป็นดังนี้เลย

pm2 start test.js

โดย test.js ก็คือไฟล์ที่เราต้องการสั่งให้ทำงาน

วิธีการตรวจสอบว่า pm2 monitor และรันงานไหนอยู่

pm2 list

เราก็จะเห็นมันรายงานออกมา ว่าตัวไหนที่ทำงานอยู่บ้าง สถานะเป็นอย่างไร restart ไปแล้วกี่ครั้ง รันมานานเท่านั้น 

นอกจากนั้นยังมีคำสั่งให้ดำเนินการ ก็คือ

pm2 stop
pm2 restart
pm2 delete

stop คือ หยุด , restart คือ ให้เริ่มต้นทำงานใหม่อีกครั้ง , delete คือ ลบออกไปจาก PM2

นอกเหนือจากนี้ยังมีอะไรให้ใช้งานได้อีกเยอะมาก ลองอ่านดูครับ

https://www.npmjs.com/package/pm2

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

ป.ล.ผมไม่แนะนำให้ใช้ PM2 ในการทดสอบ Node.js ในขั้นตอนการ Dev เพราะมันอาจจะทำให้ยุ่งยาก ว่าเรียกใช้ node test.js ธรรมดาครับ แต่ถ้าเป็นการ ทดสอบแบบยาวๆหลังจากที่เขียนโค้ดนิ่งแล้ว OK เลย

Create: Modify : 2015-07-12 11:24:24 Read : 3929 URL :