# CronList

แสดงรายการงาน cron ทั้งหมดที่ถูกกำหนดเวลาผ่าน `CronCreate` ในเซสชันปัจจุบัน คืนค่าสรุปของ cron ที่ใช้งานอยู่แต่ละรายการ ประกอบด้วย `id`, นิพจน์ cron, `prompt` ที่ย่อแล้ว, แฟล็ก `recurring`, แฟล็ก `durable` และเวลาที่จะทำงานครั้งถัดไป

## เมื่อใดควรใช้

- เพื่อตรวจสอบงานที่กำหนดเวลาไว้ทั้งหมดในปัจจุบัน ก่อนทำการเปลี่ยนแปลงหรือสิ้นสุดเซสชัน
- เพื่อค้นหา `id` ที่ถูกต้องของงาน ก่อนเรียกใช้ `CronDelete` เพื่อลบงานนั้น
- เพื่อตรวจสอบว่าเหตุใดงานที่คาดหวังจึงไม่ถูกเรียกใช้งาน โดยยืนยันว่างานนั้นมีอยู่และตรวจสอบเวลาทำงานครั้งถัดไป
- เพื่อยืนยันว่างานแบบครั้งเดียว (ไม่วนซ้ำ) ยังไม่ถูกเรียกใช้และยังอยู่ในสถานะรอดำเนินการ

## พารามิเตอร์

ไม่มี

## ตัวอย่าง

### ตัวอย่างที่ 1: ตรวจสอบงานที่กำหนดเวลาทั้งหมด

เรียกใช้ `CronList` โดยไม่มีอาร์กิวเมนต์ เพื่อดึงรายการทั้งหมดของงาน cron ที่ใช้งานอยู่ การตอบสนองจะรวมถึงสำหรับแต่ละงาน: `id` ของงาน, นิพจน์ cron ที่กำหนดกำหนดการ, เวอร์ชันที่ตัดทอนของ `prompt` ที่จะถูกดำเนินการ, ว่าเป็น `recurring` (วนซ้ำ) หรือไม่, ว่าเป็น `durable` (คงอยู่ระหว่างการรีสตาร์ต) หรือไม่ และเวลาที่กำหนดไว้สำหรับการทำงานครั้งถัดไป

### ตัวอย่างที่ 2: ค้นหา id ของงานที่วนซ้ำโดยเฉพาะ

หากมีการสร้างงาน cron หลายรายการและต้องการลบงานที่วนซ้ำรายการหนึ่งโดยเฉพาะ ให้เรียกใช้ `CronList` ก่อน จากนั้นสแกนรายการที่ส่งคืนเพื่อค้นหางานที่สรุป `prompt` และนิพจน์ cron ตรงกับงานที่ต้องการลบ คัดลอก `id` ของงานนั้นและส่งไปยัง `CronDelete`

## หมายเหตุ

- จะแสดงเฉพาะงานที่สร้างในเซสชันปัจจุบันเท่านั้น เว้นแต่จะถูกสร้างด้วย `durable: true` ซึ่งทำให้งานคงอยู่ได้แม้หลังรีสตาร์ตเซสชัน
- ฟิลด์ `prompt` ในสรุปถูกตัดทอน โดยแสดงเฉพาะส่วนต้นของข้อความ prompt ที่สมบูรณ์ ไม่ใช่เนื้อหาทั้งหมด
- งานแบบครั้งเดียว (ที่ `recurring` เป็น `false`) ที่ถูกเรียกใช้ไปแล้วจะถูกลบโดยอัตโนมัติและจะไม่ปรากฏในรายการอีกต่อไป
