ตั้งเวลาให้โปรแกรมเราทำงานด้วย Nodejs


บทความนี้จะเขียนเกียวกับสิ่งที่เคยเจอมาและน่าจะเป็นประโยชน์สำหรับคนที่กำลังหาวิธีสั่งโปรแกรมให้ทำงานตามตามเวลาที่กำหนดเป็นรอบๆเช่น ทุกๆ 5 นาที ทุกๆนาทีที่ 30 หรือจะทุกวันที่ 1 ก็ได้ เพราะงานบางอย่างเราต้องการให้มันทำงานเฉพาะช่วงเวลาที่ต้องการเท่านั้น
ตั้งเวลาให้โปรแกรมเราทำงานด้วย Cron โดยใช้ Nodejs ในการเขียนและ run โปรแกรม
เนื้อหา
Cron เป็นเครื่องมือที่ทำให้เราสั่งให้โปรแกรมทำงานบางอย่างตามกำหนดเวลา
ติดตั้ง
npm install cron
การใช้งานพื้นฐาน
var CronJob = require('cron').CronJob;var job = new CronJob( '* * * * * *', function() { console.log('You will see this message every second'); }, null, true, 'America/Los_Angeles');job.start()
ลอง run ดู
node index.js
การกำหนดเวลา Cron patterns
- * * * * * * คือทุกๆวินาที
- 00 00 00 * * * คือตอนเที่ยงคืนตรง
- 0 */10 * * * * คือทุกๆ 10 นาที เช่น 9:10, 9:20, 9:30 …
- * 10 * * * * คือทุกๆนาทีที่ 10 เช่น 9:10, 10:10, 11:10 …
- 0 */30 9-17 * * * คือทุกๆ 30 นาทีของชั่วโมงที่ 9-17 เช่น 9:30, 10:30, 11:30 ไปจนถึง 17:30
ตัวอย่างดูเพิ่มได้ที่ https://github.com/kelektiv/node-cron/tree/master/examples
Cron Ranges
field | allowed values |
---|---|
second | 0-59 |
minute | 0-59 |
hour | 0-23 |
day of month | 0-31 |
month | 0-11 (Jan-Dec) |
day of week | 0-7 (0 or 7 is Sun, or use Sun-Sat) |