วิธีตั้งค่า Cronjob ให้ทำงานในระดับวินาที หรือตำกว่า 1 นาที

วิธีตั้งค่า-Cronjob--ให้ทำงานในระดับวินาที-หรือตำกว่า-1-นาที
วิธีตั้งค่า-Cronjob--ให้ทำงานในระดับวินาที-หรือตำกว่า-1-นาที
CronJob คืออะไร วิธีตั้งเวลาให้ PHP ทำงาน

โดยปกติแล้วการตั้งค่า Cronjob หรือ Crontab ไม่ว่าจะอยู่จะเป็น Share Host หรือ VPS Host จะสามารถตั้งค่าได้ในระดับนาที ชั่วโมง วัน เดือน ปี จะไม่สามารถตั้งค่าในระดับวินาทีได้

แต่ในบางโปรเจคเราอาจจะต้องการให้ script ทำงานในระดับวินาที หรือทุก ๆ 5 หรือ 10 วินาที ซึ่งเราสามารถทำได้โดยการใช้คำสั่ง sleep ร่วมกับ wget command

วิธีการคือ เพิ่ม wget command + sleep 10 วินาที เพื่อให้ script ทำงานทุก ๆ 10 วินาที

/usr/bin/wget -O /dev/null https://www.domain.com/script.php
sleep 10 ; /usr/bin/wget -O /dev/null https://www.domain.com/script.php
sleep 20 ; /usr/bin/wget -O /dev/null https://www.domain.com/script.php
sleep 30 ; /usr/bin/wget -O /dev/null https://www.domain.com/script.php
sleep 40 ; /usr/bin/wget -O /dev/null https://www.domain.com/script.php
sleep 50 ; /usr/bin/wget -O /dev/null https://www.domain.com/script.php

บรรทัดแรก cronjob จะสั่งให้ script ทำงานทุก ๆ 1 นาที และใน command บรรทัดต่อมา cronjob จะหยุดไป 10 วินาที จากนั้นก็จะทำงาน script เดิม ในบรรทัดต่อ ๆ ไป ก็เช่นเดียวกันครับ จะหยุดไปตามจำนวน sleep เป็นวินาที แล้วทำงาน script จนครบ 1 นาทีก็จะวนกลับไปเริ่มทำงานในบรรทัดแรก ด้วยการเขียนคำสั่งแบบนี้จะทำให้เราสามารถ cronjob ให้ script.php ทำงานในทุก ๆ 10 วินาที

Leave a Reply