เปลี่ยนมารันคิวแบบใช้โปรแกรมฐานข้อมูล(MySql) กันดูบ้างซิ จะได้รู้ว่าวิธีไหนทำได้สะดวกและดีที่สุด
ผู้เขียนเองได้ทดสอบการติดตั้งโปรแกรมการจัดการคิวไฟล์แบบง่ายไปครั้งแรกมาแล้ว http://www.s-techthai.com/2017/05/queue-file-php.html พบว่ามีข้อจำกัดอยู่มากโดยเฉพาะการแข่งขันกันจัดเก็บคิวทำได้ไม่สมบูรณ์ในบางครั้ง จึงเป็นที่มาของการปรับปรุงให้ดีขึ้นด้วยโปรแกรม beanstalk http://www.s-techthai.com/2017/05/beanstalk.html พบว่ามีการใช้งานได้ง่ายดาย แก้ไขปัญหาเรื่องการแข่งขันกันจัดเก็บข้อมูลได้อย่างเด็ดขาด 100% แต่ผู้เขียนยังพบว่าการบริหารจัดการที่ดูว่าง่ายดายกว่า หากสามารถคอนฟิกค่าต่าง ๆ ได้ดีก็เป็นการทำงานคิวที่สมบูรณ์แบบด้วยซ้ำ สำหรับวันนี้จะเป็นการสร้างคิวแบบใช้โปรแกรมฐานข้อมูล MySql ดูบ้างเพื่อเปรียบเทียบกันขั้นตอนที่ 1 สร้างคลาสสำหรับใช้งานโปรแกรมคิวให้ไปดาวน์โหลดตามลิงค์ที่ผู้เขียนแปะไว้ให้ได้เลย
https://github.com/kotas/myqueue/blob/master/MyQueue.phpจากนั้นตั้งชืื่อไฟล์ตามตัวอย่าง MyQueue.php
ขั้นตอนที่ 2 สร้างฐานข้อมูลจากไฟล์ต่อไปนี้ได้เลย
CREATE TABLE myqueue ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `locked_until` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `data` BLOB NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
ขั้นตอนที่ 3 สร้างโปรแกรมทดสอบการทำงานคิวตามตัวอย่างง่าย ๆ ต่อไปนี้
<?php include_once 'MyQueue.php'; $servername = 'localhost'; $username = 'username'; $password = 'password'; $dbname = 'myqueue'; $PDO = new PDO("mysql:host=$servername;dbname=$dbname",$username,$password); $queue = new MyQueue($PDO, 'myqueue'); $queue->push('Testing insert data to MyQueue!!!!'); echo $queue->pop(); ?>สำหรับโปรแกรมคิวแบบใช้โปรแกรมฐานข้อมูลนี้จะพบว่าทำงานได้ค่อนข้างดี มีประสิทธิภาพ และใช้งานได้ง่ายมาก เหมาะสมอย่างยิ่งสำหรับการนำไปพัฒนาปรับปรุงโค๊ดกันต่อเพื่อใช้บริการจัดการข้อมูลที่มีความสลับซับซ้อนเพิ่มมากขึ้น เนื้อหาดี ๆ ในวันนี้จะสำเร็จลุล่วงไปไม่ได้เลยหากไม่ได้รับการสนับสนุนจาก gps โคราช ด้วยคุณภาพชั้นนำของอุปกรณ์ ผ่านมาตรฐานกสทช. ถูกกว่า คุ้มค่ากว่า ทุกบาทที่จ่ายไป