เครื่องมือวิเคราะห์นิพจน์ Cron

วิเคราะห์กำหนดเวลา cron ออกเป็นคำอธิบายฟิลด์ที่เข้าใจง่าย และดูตัวอย่างเวลาทำงานครั้งถัดไปได้ทันทีในเบราว์เซอร์ของคุณ

นิพจน์ Cron

รอบการทำงานถัดไป

(เวลาท้องถิ่นของคุณ)

กรอกนิพจน์ cron เพื่อวิเคราะห์ข้อมูล

นิพจน์ cron ของคุณจะถูกวิเคราะห์ในเบราว์เซอร์โดยตรง ไม่มีการส่งข้อมูลใดๆ ไปยัง BroBroGo

คำถามที่พบบ่อย

เครื่องมือนี้รองรับไวยากรณ์ cron แบบใดบ้าง?

รองรับรูปแบบมาตรฐานแบบ 5 ฟิลด์ — นาที, ชั่วโมง, วันที่ของเดือน, เดือน และวันของสัปดาห์ — รวมถึงช่วงข้อมูล (1-5), ขั้นข้อมูล (*/15), รายการ (1,15), ชื่อเดือนและวันในสัปดาห์ (JAN, MON) และคีย์ลัดอย่าง @yearly/@monthly/@weekly/@daily/@hourly กฎข้อหนึ่งที่มักถูกมองข้ามคือ: เมื่อมีการจำกัดทั้งวันที่ของเดือนและวันของสัปดาห์ (ไม่ใช่ *) หากตรงกับเงื่อนไขใดเงื่อนไขหนึ่งก็ถือว่าทำงานแล้ว โดยไม่จำเป็นต้องตรงกันทั้งคู่

เวลาการทำงานครั้งถัดไปแสดงผลในเขตเวลาใด?

แสดงผลตามเขตเวลาท้องถิ่นของเบราว์เซอร์คุณ — ซึ่งเป็นเขตเวลาเดียวกับที่นาฬิกาในระบบของคุณใช้งาน ทั้งนี้ cron มาตรฐานจะไม่มีการระบุเขตเวลาในตัวเอง โดยตัวจัดตารางงาน (job scheduler) ที่รันระบบจะเป็นผู้กำหนด ดังนั้นให้ถือว่าเวลาเหล่านี้เป็นเพียงการแสดงตัวอย่างกำหนดเวลาในเครื่องของคุณ ซึ่งอาจไม่ตรงกับเวลาบนเซิร์ฟเวอร์จริง

ทำไมระบบจึงแจ้งว่ากำหนดเวลานี้ไม่มีวันเกิดขึ้นได้?

มักเกิดจากการกำหนดวันที่ของเดือนที่ไม่มีอยู่จริงในทุกๆ เดือนที่เลือก — ตัวอย่างเช่น วันที่ 31 ในขณะที่ฟิลด์เดือนเลือก เมษายน, มิถุนายน, กันยายน หรือพฤศจิกายน กรุณาเลือกวันที่ที่มีอยู่ในทุกเดือนที่คุณระบุ หรือแยกกำหนดเวลาออกเป็นหลายๆ นิพจน์ (expressions)

การทำงานของเครื่องมือวิเคราะห์นิพจน์ Cron

เครื่องมือวิเคราะห์นิพจน์ Cron ทำหน้าที่แยกแยะส่วนประกอบต่างๆ ของนิพจน์ cron ออกเป็นฟิลด์ย่อย เพื่ออธิบายความหมายของแต่ละส่วนในกำหนดเวลาอย่างชัดเจน นอกจากนี้ ระบบจะคำนวณและแสดงรายการเวลาที่กำหนดการดังกล่าวจะทำงานในอนาคต โดยอ้างอิงตามเขตเวลาท้องถิ่นในเบราว์เซอร์ของคุณโดยตรง

ผู้ใช้งานสามารถกำหนดค่าอินพุตได้ดังนี้:

  • นิพจน์ Cron: ช่องกรอกข้อความแบบบรรทัดเดียว รองรับรูปแบบมาตรฐานแบบ 5 ฟิลด์ ได้แก่ นาที, ชั่วโมง, วันที่ของเดือน, เดือน และวันของสัปดาห์ ตัวอย่างข้อมูลนำเข้า: */15 9-17 * * MON-FRI
  • จำนวน: ช่องระบุตัวเลขเพื่อปรับจำนวนรอบการทำงานถัดไปที่ต้องการให้แสดงผล โดยกำหนดค่าได้ตั้งแต่ 1 ถึง 20

โครงสร้างและรูปแบบไวยากรณ์ที่รองรับ

เครื่องมือนี้รองรับไวยากรณ์มาตรฐานแบบ 5 ฟิลด์ และคีย์ลัดต่างๆ โดยมีรายละเอียดการประมวลผลดังนี้:

  • ช่วงข้อมูลและขั้นข้อมูล: รองรับการใช้เครื่องหมายช่วง เช่น 1-5 และการกำหนดขั้นข้อมูล เช่น */15
  • รายการและชื่อเฉพาะ: รองรับการคั่นด้วยเครื่องหมายจุลภาค เช่น 1,15 รวมถึงการระบุชื่อเดือน (เช่น JAN) และชื่อวันในสัปดาห์ (เช่น MON)
  • คีย์ลัด: รองรับรูปแบบย่อ ได้แก่ @yearly, @monthly, @weekly, @daily และ @hourly
  • สัญลักษณ์สากล: เครื่องหมาย * ในแต่ละฟิลด์จะถูกแปลความหมายเป็น "ใดๆ"
  • ข้อจำกัด: เครื่องมือนี้ไม่รองรับฟิลด์ที่ 6 (วินาที) และไม่รองรับส่วนขยายเฉพาะของ Quartz เช่น L, W หรือ #

สำหรับการแสดงผลในส่วน "รายละเอียดกำหนดเวลา" หากใช้รูปแบบ */n ระบบจะแปลงข้อความเป็นคำอธิบายเฉพาะ เช่น "ทุกๆ {n} นาที", "ทุกๆ {n} ชั่วโมง", "ทุกๆ {n} วัน", "ทุกๆ {n} เดือน" หรือ "ทุกๆ {n} วัน" ตามฟิลด์ที่กำหนด


กฎการทำงานและกรณีเฉพาะ

ในการประมวลผลกำหนดเวลา มีกฎสำคัญและกรณีเฉพาะที่ระบบใช้ในการตรวจสอบความถูกต้องดังนี้:

  • การจำกัดวัน: เมื่อมีการจำกัดทั้งวันที่ของเดือนและวันของสัปดาห์ (โดยทั้งสองฟิลด์ไม่ใช่ *) หากข้อมูลเวลาตรงกับเงื่อนไขใดเงื่อนไขหนึ่ง ระบบจะถือว่าตรงตามกำหนดเวลาและทำงานทันที
  • สถานะว่าง: หากไม่มีการกรอกข้อมูลใดๆ ในช่องอินพุต เครื่องมือจะกลับคืนสู่สถานะ "กรอกนิพจน์ cron เพื่อวิเคราะห์ข้อมูล"
  • ไวยากรณ์ไม่ถูกต้อง: หากนิพจน์ cron มีโครงสร้างไวยากรณ์ที่ผิดพลาด ระบบจะแสดงข้อความเตือนว่า "นิพจน์ cron ไม่ถูกต้อง"
  • กำหนดเวลาที่เป็นไปไม่ได้: หากนิพจน์ถูกต้องตามไวยากรณ์ แต่กำหนดเวลานั้นไม่มีวันเกิดขึ้นจริง ระบบจะแสดงข้อความเตือนว่า "กำหนดเวลานี้ไม่มีวันเกิดขึ้นได้ — กรุณาตรวจสอบวันที่ของเดือนที่อาจไม่มีอยู่จริงในบางเดือนที่เลือก" กรณีนี้มักเกิดขึ้นเมื่อระบุวันที่ของเดือนเป็น 31 ในขณะที่ฟิลด์เดือนครอบคลุมเดือนที่มี 30 วันหรือน้อยกว่า เช่น เมษายน, มิถุนายน, กันยายน หรือพฤศจิกายน

ความเป็นส่วนตัวและการประมวลผลข้อมูล

การวิเคราะห์และคำนวณนิพจน์ cron ทั้งหมดเกิดขึ้นภายในเบราว์เซอร์ของผู้ใช้งานโดยตรง ไม่มีการส่งข้อมูลใดๆ ไปยังเซิร์ฟเวอร์ของ BroBroGo ช่วยให้มั่นใจในความเป็นส่วนตัวของข้อมูลกำหนดการทำงานที่ใช้ภายในระบบของคุณ


คำถามที่พบบ่อย (FAQ)

ถาม: เครื่องมือนี้รองรับไวยากรณ์ cron แบบใดบ้าง? ตอบ: รองรับรูปแบบมาตรฐานแบบ 5 ฟิลด์ — นาที, ชั่วโมง, วันที่ของเดือน, เดือน และวันของสัปดาห์ — รวมถึงช่วงข้อมูล (1-5), ขั้นข้อมูล (*/15), รายการ (1,15), ชื่อเดือนและวันในสัปดาห์ (JAN, MON) และคีย์ลัดอย่าง @yearly/@monthly/@weekly/@daily/@hourly กฎข้อหนึ่งที่มักถูกมองข้ามคือ: เมื่อมีการจำกัดทั้งวันที่ของเดือนและวันของสัปดาห์ (ไม่ใช่ *) หากตรงกับเงื่อนไขใดเงื่อนไขหนึ่งก็ถือว่าทำงานแล้ว โดยไม่จำเป็นต้องตรงกันทั้งคู่

ถาม: เวลาการทำงานครั้งถัดไปแสดงผลในเขตเวลาใด? ตอบ: แสดงผลตามเขตเวลาท้องถิ่นของเบราว์เซอร์คุณ — ซึ่งเป็นเขตเวลาเดียวกับที่นาฬิกาในระบบของคุณใช้งาน ทั้งนี้ cron มาตรฐานจะไม่มีการระบุเขตเวลาในตัวเอง โดยตัวจัดตารางงาน (job scheduler) ที่รันระบบจะเป็นผู้กำหนด ดังนั้นให้ถือว่าเวลาเหล่านี้เป็นเพียงการแสดงตัวอย่างกำหนดเวลาในเครื่องของคุณ ซึ่งอาจไม่ตรงกับเวลาบนเซิร์ฟเวอร์จริง

ถาม: ทำไมระบบจึงแจ้งว่ากำหนดเวลานี้ไม่มีวันเกิดขึ้นได้? ตอบ: มักเกิดจากการกำหนดวันที่ของเดือนที่ไม่มีอยู่จริงในทุกๆ เดือนที่เลือก — ตัวอย่างเช่น วันที่ 31 ในขณะที่ฟิลด์เดือนเลือก เมษายน, มิถุนายน, กันยายน หรือพฤศจิกายน กรุณาเลือกวันที่ที่มีอยู่ในทุกเดือนที่คุณระบุ หรือแยกกำหนดเวลาออกเป็นหลายๆ นิพจน์ (expressions)

ถาม: เครื่องมือนี้รองรับการตั้งค่าแบบระบุวินาทีหรือไม่? ตอบ: ไม่รองรับ เครื่องมือนี้รองรับเฉพาะไวยากรณ์มาตรฐานแบบ 5 ฟิลด์เท่านั้น และไม่รองรับฟิลด์ที่ 6 หรือส่วนขยายเฉพาะทางอื่นๆ เช่น L, W หรือ #