เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
CronJobManager เป็นตัวจัดการงานตามกำหนดเวลาที่ NocoBase จัดเตรียมไว้ให้ ซึ่งอิงตาม cron ครับ/ค่ะ โดยอนุญาตให้ปลั๊กอินสามารถลงทะเบียนงานตามกำหนดเวลาบนเซิร์ฟเวอร์ได้ เพื่อใช้ในการรัน logic ที่เฉพาะเจาะจงเป็นประจำครับ/ค่ะ
การกำหนดประเภท CronJobParameters มีรายละเอียดดังนี้ (จาก cron) ครับ/ค่ะ
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| cronTime | string | Date | DateTime | นิพจน์เวลาสำหรับงานตามกำหนดเวลา รองรับ cron expression มาตรฐาน เช่น 0 0 * * * หมายถึงรันทุกวันเวลา 00:00 น. ครับ/ค่ะ |
| onTick | function | ฟังก์ชันหลักของงาน จะถูกเรียกใช้งานเมื่อถึงเวลาที่กำหนดครับ/ค่ะ |
| onComplete | function | จะถูกรันเมื่อ task ถูกหยุดด้วย job.stop() หรือหลังจากฟังก์ชัน onTick ทำงานเสร็จสิ้นครับ/ค่ะ |
| timeZone | string | ระบุโซนเวลาที่จะรัน (เช่น Asia/Shanghai) ครับ/ค่ะ |
| context | any | Context เมื่อรัน onTick ครับ/ค่ะ |
| runOnInit | boolean | จะรันทันทีหนึ่งครั้งเมื่อเริ่มต้น (initialization) หรือไม่ครับ/ค่ะ |
| utcOffset | string | number | ระบุค่าชดเชยโซนเวลาครับ/ค่ะ |
| unrefTimeout | boolean | ควบคุมว่า event loop จะยังคงทำงานอยู่หรือไม่ครับ/ค่ะ |
| Expression | ความหมาย |
|---|---|
* * * * * | รันทุกนาที |
0 * * * * | รันทุกชั่วโมง |
0 0 * * * | รันทุกวันเวลา 00:00 น. |
0 9 * * 1 | รันทุกวันจันทร์เวลา 09:00 น. |
*/10 * * * * | รันทุก 10 นาที |
💡 คุณสามารถใช้ crontab.guru เพื่อช่วยสร้าง expression ได้ครับ/ค่ะ
งานตามกำหนดเวลาจะเริ่มทำงานพร้อมกับการเริ่มของแอปพลิเคชัน และจะหยุดทำงานเมื่อแอปพลิเคชันหยุดครับ/ค่ะ โดยทั่วไปแล้ว คุณไม่จำเป็นต้องสั่ง start หรือ stop ด้วยตัวเองครับ/ค่ะ เว้นแต่ในกรณีที่จำเป็นจริงๆ