  | 
                       | 
          
            
               
                 ปกติการตั้ง scheduler หรือ cron job ก็ไม่ควรจะให้มันทำงานทันทีทุกครั้งที่ถูกเรียก 
 
ควรจะมีการตรวจก่อนว่าถูกสั่งให้ทำงานไปแล้วหรือยังเมื่อเร็วๆนี้ 
เช่น 30 นาทีที่ผ่านมาถูกเรียกทำงานไปหรือยัง ถ้ายังก็สั่งให้ทำงาน ถ้าเรียกแล้วก็จบการทำงาน เป็นต้น. 
 
และจากการทำงานข้างบน ผมเลยเขียนคลาสขึ้นมาตัวหนึ่ง ให้ทำงาน"ร่วมกับ" cron job, หรือ schduler. 
https://rundiz.com/?p=377 
ตัวอย่างเช่นจะกำหนดให้คำสั่งทำงานทุกชั่วโมง เราก็ตั้ง scheduler ไว้ทุกชั่วโมงตามเดิม. 
Code (PHP) 
$PhpSchedule = new \Rundiz\PhpSchedule\PhpSchedule();
$PhpSchedule->add('myTaskName', 'myFunction', ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']);
$PhpSchedule->run();
function myFunction() {
    // run your code.
}
 
 
หรือถ้าไม่ใช้ของผม จะเขียนเองให้มันง่ายๆก็ได้ ตัวอย่างการทำงานเช่น 
กำหนดชื่องานใน php สักชื่อ 
เมื่อถูกเรียกใช้งาน ให้ตรวจว่ามีชื่อไฟล์ md5('ชื่องานนั้น').'.txt' หรือยัง 
ถ้ายังให้เขียนไฟล์เป็น md5('ชื่องานนั้น').'.txt' แล้วบันทึกไฟล์ว่างเปล่า 
ถ้ามีการเขียนชื่อไฟล์แล้ว ให้เรียกดูวันที่ date modify (filemtime) ว่าเกินกว่านาทีที่กำหนดไว้หรือไม่ เช่น 30 นาที 
ถ้าไม่เกิน แสดงว่าเพิ่งเรียกไป ให้จบการทำงาน 
ถ้าเกิน ให้เขียนทับไฟล์นั้นไปแล้วสั่งให้ทำงาน 
แบบนี้เป็นต้น.                        
               
               | 
             
            
              
			                              
                              
              
                
                     | 
                     | 
                     | 
                 
                
                     | 
                  
                      
                        | Date :
                            2018-04-24 21:27:10 | 
                        By :
                            mr.v | 
                         
                    | 
                     | 
                 
                
                     | 
                     | 
                     | 
                 
                | 
             
           
			         | 
             |