DevToys Web Pro iconDevToys Web Proบล็อก
ให้คะแนนเรา:
ลองใช้ส่วนขยายเบราว์เซอร์:

ตัวแยกวิเคราะห์นิพจน์ Cron

รวมวินาที:ปิด
วันที่กำหนดการถัดไป:
รูปแบบผลลัพธ์:

รูปแบบ: นาที (0-59) ชั่วโมง (0-23) วัน (1-31) เดือน (1-12) วันในสัปดาห์ (0-6, 0=วันอาทิตย์)

ตัวอย่าง

รายละเอียดทางเทคนิค

Cron Expression Parser ทำงานอย่างไร

เครื่องมือนี้ทำอะไร

ตัวแยกวิเคราะห์ cron expression จะตีความ cron expression และแปลเป็นคำอธิบายที่อ่านเข้าใจง่ายพร้อมเวลาที่จะรันตามกำหนด เครื่องมือ cron parser นี้ทำหน้าที่เป็นทั้งตัวแปล cron expression ตัวสร้าง cron expression และตัวสร้างตารางเวลา cron ช่วยให้นักพัฒนาเข้าใจว่า cron jobs จะทำงานเมื่อใด เมื่อคุณต้องการแยกวิเคราะห์ cron expressions หรือแปลง cron ให้อ่านเข้าใจง่าย เครื่องมือนี้ให้ผลลัพธ์ทันที ตัวแยกวิเคราะห์รองรับ cron expression แบบมาตรฐาน 5 ฟิลด์ (นาที ชั่วโมง วันของเดือน เดือน วันในสัปดาห์) และแบบ 6 ฟิลด์ที่รวมวินาทีด้วย โดยจะคำนวณรอบการรันถัดไปตามเวลาปัจจุบันและแสดงในรูปแบบที่อ่านง่าย ตัวตรวจสอบ cron (cron validator) จะเช็กไวยากรณ์และให้คำอธิบายอย่างละเอียดว่า job จะรันเมื่อใด ตัวแยกวิเคราะห์ crontab นี้ช่วยให้นักพัฒนาตรวจสอบ cron expression ก่อนนำไปใช้งานในระบบโปรดักชัน

กรณีการใช้งานทั่วไปของนักพัฒนา

นักพัฒนาใช้ cron parser เมื่อตั้งค่างานตามกำหนดเวลา ดีบักปัญหา cron job หรือทำความเข้าใจ cron expression ที่มีอยู่ในโค้ดเบส เครื่องมือที่เป็นทั้ง cron expression parser และ cron expression generator ช่วยยืนยันว่า cron expression ถูกต้องก่อนดีพลอยไปยังโปรดักชัน นักพัฒนาหลายคนใช้ cron parser เพื่อแปล expression ที่ซับซ้อนเป็นคำอธิบายที่อ่านเข้าใจง่าย ทำให้เข้าใจได้ง่ายขึ้นว่า job จะรันเมื่อใด crontab parser มีคุณค่าเมื่อทำงานด้านดูแลระบบ CI/CD pipelines แบ็กอัปตามกำหนด หรือการทำงานอัตโนมัติ นักพัฒนาใช้เพื่อยืนยัน cron expression คำนวณเวลา cron next run หรือสร้าง cron expression ตามข้อกำหนดการตั้งเวลาที่เฉพาะเจาะจง เครื่องมือนี้ช่วยเมื่อดีบักว่าทำไม cron job ไม่รันตามที่คาด หรือเมื่อจัดทำเอกสารงานตามกำหนดเวลา

รูปแบบข้อมูล ชนิด หรือรูปแบบย่อย

Cron expression ใช้รูปแบบคั่นด้วยช่องว่าง โดยมี 5 หรือ 6 ฟิลด์แทนหน่วยเวลา รูปแบบมาตรฐาน 5 ฟิลด์คือ: นาที (0-59), ชั่วโมง (0-23), วันของเดือน (1-31), เดือน (1-12) และวันในสัปดาห์ (0-6 โดย 0 คือวันอาทิตย์) รูปแบบ 6 ฟิลด์จะเพิ่มวินาที (0-59) ไว้ด้านหน้า แต่ละฟิลด์รองรับไวลด์การ์ด (*), ช่วง (1-5), รายการ (1,3,5) และค่า step (*/5) บางระบบใช้ 5 ฟิลด์ บางระบบใช้ 6 ฟิลด์ (มีวินาที) และ cron แบบ Quartz แตกต่างจาก Unix cron มาตรฐาน ตัวแยกวิเคราะห์นี้ยึดตามความหมายของ Unix cron มาตรฐาน; หาก expression ของคุณใช้ได้ที่อื่นแต่ใช้ไม่ได้ที่นี่ อาจเป็นความแตกต่างของไดอะเล็กต์

ตัวอย่าง cron expression ที่พบบ่อย:

  • 0 9 * * 1-5 — เวลา 9:00 น. ในวันธรรมดา
  • */15 * * * * — ทุก 15 นาที
  • 0 0 * * 0— ทุกวันอาทิตย์ตอนเที่ยงคืน
  • 0 0 1 * *— วันแรกของทุกเดือน

ตัวแยกวิเคราะห์จะจัดการความแตกต่างเหล่านี้และคำนวณเวลาการรันครั้งถัดไปให้สอดคล้องกัน

ข้อผิดพลาดที่พบบ่อยและกรณีขอบ

ข้อผิดพลาดที่พบบ่อยอย่างหนึ่งคือสับสนเรื่องการกำหนดหมายเลขวันในสัปดาห์: ตัวแยกวิเคราะห์นี้ใช้ 0-6 (อาทิตย์-เสาร์ โดย 0 คือวันอาทิตย์) ขณะที่บางระบบใช้ 1-7 (จันทร์-อาทิตย์) อีกประเด็นคือการจัดการโซนเวลา: cron expression มักถูกประเมินในโซนเวลาของเซิร์ฟเวอร์ ซึ่งอาจต่างจากโซนเวลาท้องถิ่นของคุณ วันของเดือนและวันในสัปดาห์ใช้ความหมายแบบ OR: หากระบุทั้งสองอย่าง (ไม่ใช่ *) งานจะรันเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง ซึ่งอาจทำให้สับสน ตัวอย่างเช่น expression 0 9 15 * 1 จะรันเวลา 9:00 น. ในวันที่ 15 ของทุกเดือน หรือทุกวันจันทร์ ไม่ใช่เฉพาะเมื่อทั้งสองเงื่อนไขตรงกัน ขอบเขตของเดือนอาจทำให้เกิดปัญหา: cron job ที่ตั้งไว้วันที่ 31 จะไม่รันในเดือนที่มีวันน้อยกว่า ตัวแยกวิเคราะห์จัดการกรณีขอบเหล่านี้ได้ แต่ผู้พัฒนาควรตระหนักถึงความต่างของโซนเวลาและเงื่อนไขขอบเขตของวันที่ ปีอธิกสุรทินและการเปลี่ยนเวลาออมแสง (daylight saving time) ก็อาจส่งผลต่อเวลาการรันตามกำหนดได้เช่นกัน เมื่อใช้ค่า step ร่วมกับช่วง ให้แน่ใจว่า step หารช่วงได้ลงตัวเพื่อหลีกเลี่ยงพฤติกรรมที่ไม่คาดคิด

เมื่อใดควรใช้เครื่องมือนี้แทนการเขียนโค้ด

ใช้ cron parser นี้เพื่อยืนยัน expression อย่างรวดเร็ว ทำความเข้าใจ cron jobs ที่มีอยู่ หรือสร้างคำอธิบายที่อ่านเข้าใจง่าย เหมาะสำหรับดีบักปัญหา cron job จัดทำเอกสารงานตามกำหนด หรือเรียนรู้ไวยากรณ์ cron expression สำหรับโค้ดโปรดักชัน ให้ใช้ไลบรารีแยกวิเคราะห์ cron ที่ผสานอยู่ในแอปของคุณ ซึ่งสามารถตรวจสอบ expression คำนวณเวลารันถัดไป และเชื่อมกับระบบจัดตารางงานได้ ไลบรารี cron ให้การจัดการข้อผิดพลาดที่ดีกว่า รองรับโซนเวลา และผสานกับตัวจัดตารางงานได้ เครื่องมือบนเบราว์เซอร์เหมาะกับการแยกวิเคราะห์แบบเฉพาะกิจและการเรียนรู้ ขณะที่โซลูชันแบบโค้ดให้การทำงานอัตโนมัติ การตรวจสอบใน CI/CD pipelines และการผสานกับเฟรมเวิร์กจัดตารางงาน สำหรับระบบจัดตารางระดับองค์กร ไลบรารีเนทีฟให้ประสิทธิภาพที่ดีกว่า การจัดการโซนเวลา และรองรับฟีเจอร์ cron ขั้นสูง