วันจันทร์ที่ 29 พฤษภาคม พ.ศ. 2560

ใช้งานโปรแกรมจัดการคิวแบบง่าย ประสิทธิภาพสูง beanstalk

หลังจากที่ผู้เขียนได้ผ่านการใช้งานโปรแกรมคิวไฟล์แบบเท็กซ์ไฟล์แบบง่ายไปได้ 3-4 เดือนที่ผ่านมา สร้างคิวไฟล์(queue file)แบบเท็กซ์ไฟล์แบบง่ายโดยใช้โปรแกรม php พบว่าผลการทำงานเป็นไปอย่างไม่ประทับใจ กล่าวคือมีการแย่งกันบันทึกไฟล์พร้อม ๆ กันหลาย ๆ ครั้งส่งผมให้ข้อความที่บันทึกลงในคิวไฟล์ไม่สมบูรณ์ ผิดพลาดค่อนข้างมาก ทำให้ต้องกลับมาทบทวนหาวิธีอื่นดู จนได้พบกับ ใช้งานโปรแกรมจัดการคิวแบบง่าย ประสิทธิภาพสูง beanstalk

การติดตั้งโปรแกรม beanstalk สามารถทำได้ไม่ยากเย็น เพียงแค่คำสั่งเดียวก็สามารถรันคิวได้แบบสมบูรณ์แบบ ส่วนโปรแกรมที่ผู้เขียนใช้บริหารจัดการคิวก็คือโปรแกรม pheanstalk ที่พัฒนาด้วยภาษา php นั่นเอง ปัญหาใหญ่ของการเริ่มต้นใช้งานภาษา php ก็คือเรื่องการติดตั้งโปรแกรมที่เรียกว่า composer ที่มีใช้งานกันอย่างกว้างขวาง ประโยชน์ของการติดตั้งโปรแกรม php โดยใช้ composer ก็คือจะทำให้ขั้นตอนการติดตั้งไลบรารี่อื่น ๆ ที่โปรแกรมต้องการใช้งานเป็นไปได้อย่างอัตโนมัติ เนื้อหารายละเอียดเชิงลึกในส่วนนี้จะยังไม่กล่าวถึงสำหรับบทความในวันนี้


ขั้นตอนที่ 1 เป็นการติดตั้งโปรแกรมคิว beanstalk

apt-get install beanstalkd

ขั้นตอนที่ 2 เป็นการติดตั้งโปรแกรม pheanstalk สำหรับการติดตั้งผ่าน composer ให้สร้างไฟล์ที่ชื่อว่า composer.json

{
        "require": {
                "pda/pheanstalk": "3.0.2"}
}
จากนั้นทำการติดตั้งโปรแกรม pheanstalk โดยใช้คำสั่งติดตั้งข้างล่าง

#composer install --no-dev

ขั้นตอนที่ 3 เป็นการสร้างไฟล์ สำหรับทดสอบคิวโดยการป้อนข้อมูลลงในคิว 

<?php
require_once("vendor/autoload.php");
use \Pheanstalk\Pheanstalk;

$pheanstalk = new Pheanstalk('127.0.0.1');

// ----------------------------------------
// producer (queues jobs)

$pheanstalk
   ->useTube('testtube')
   ->put("job payload goes here\n");
?>

ขั้นตอนที่ 4 เป็นการสร้างไฟล์เพื่อดึงข้อมูลจากคิวมาใช้งาน

<?php
require_once("vendor/autoload.php");
use \Pheanstalk\Pheanstalk;

$pheanstalk = new Pheanstalk('127.0.0.1');

// ----------------------------------------
// worker (performs jobs)

  $job = $pheanstalk
   ->watch('testtube')
   ->ignore('default')
   ->reserve();
  echo $job->getData();
  $pheanstalk->delete($job);
?>

จะเห็นว่าเนื้อหาที่นำเสนอจะคัดมาแบบสั้น ๆ ง่าย ๆ จุดประสงค์ก็คือหากการเริ่มต้นลงลึกไปมาก ก็จะทำให้เสียกำลังใจไม่อยากจะทดลองทำ สุดท้ายก็ไม่ได้ประโยชน์ ผู้เขียนเสียเวลาไปหลายวันสำหรับศึกษาการติดตั้งโปรแกรมโดย composer ทั้ง ๆ ที่จริง ๆ หากเข้าใจใช้งานง่ายมากและนำไปประยุกต์ใช้งานได้อย่างกว้างขวางในเอกสารส่วนใหญ่ของโปรแกรมสคริป php

การรันโปรแกรมเพียงลำพังโปรแกรมเดียวครั้งเดียวโดยใช้สคริป php ยังเป็นการดำเนินการที่ค่อนข้างยุ่งยากมาก ยังไงลองศึกษา การใช้งานโปรแกรม supervisor สำหรับควบคุมสคริปต่าง ๆ ของ php ดูพบว่าเป็นเรื่องที่ง่ายขี้น

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









ไม่มีความคิดเห็น:

แสดงความคิดเห็น