logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo
เวิร์กโฟลว์
ภาพรวม
เริ่มต้นใช้งาน

ทริกเกอร์

ภาพรวม
เหตุการณ์ตารางข้อมูล
งานที่กำหนดเวลา
เหตุการณ์ก่อนการดำเนินการ
เหตุการณ์หลังการดำเนินการ
เหตุการณ์การดำเนินการที่กำหนดเอง
การอนุมัติ
Webhook

โหนด

ภาพรวม

AI

LLM

การควบคุมโฟลว์

เงื่อนไข
แยกสาขาหลายเงื่อนไข
วนซ้ำ
ตัวแปร
แยกสาขาแบบขนาน
เรียกใช้เวิร์กโฟลว์
ผลลัพธ์ของโฟลว์
การแมปตัวแปร JSON
การหน่วงเวลา
สิ้นสุด

การคำนวณ

การคำนวณ
การคำนวณวันที่
การคำนวณ JSON

การดำเนินการข้อมูล

เพิ่มข้อมูล
อัปเดตข้อมูล
ค้นหาข้อมูล
ลบข้อมูล
การดำเนินการ SQL

การดำเนินการด้วยตนเอง

การดำเนินการด้วยตนเอง
การอนุมัติ
ส่งสำเนา (CC)

ขยายประเภท

คำขอ HTTP
สคริปต์ JavaScript
การแจ้งเตือน
ส่งอีเมล
การตอบกลับ
ข้อความตอบกลับ
ตัวแปร
บันทึกการดำเนินการ
การจัดการเวอร์ชัน
ตัวเลือกขั้นสูง

การพัฒนาส่วนขยาย

ภาพรวม
ขยายประเภททริกเกอร์
ขยายประเภทโหนด
การอ้างอิง API
Previous Pageเหตุการณ์ตารางข้อมูล
Next Pageเหตุการณ์ก่อนการดำเนินการ
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#งานตามกำหนดเวลา

#บทนำ

งานตามกำหนดเวลาคืองานที่ถูกเรียกใช้งานตามเงื่อนไขเวลาที่กำหนดไว้ครับ/ค่ะ โดยแบ่งออกเป็น 2 โหมดหลักๆ ได้แก่:

  • โหมดกำหนดเวลาเอง (Custom time): เป็นการตั้งเวลาเรียกใช้งานตามเวลาของระบบทั่วไป คล้ายกับการตั้งค่า Cron ครับ/ค่ะ
  • โหมดฟิลด์เวลาของคอลเลกชัน (Collection time field): เป็นการเรียกใช้งานเมื่อถึงเวลาที่กำหนดไว้ในฟิลด์เวลาของ คอลเลกชัน ครับ/ค่ะ

เมื่อระบบทำงานไปถึงจุดเวลาที่ตรงกับเงื่อนไขการเรียกใช้งานที่ตั้งค่าไว้ (แม่นยำถึงระดับวินาที) เวิร์กโฟลว์ ที่เกี่ยวข้องก็จะถูกเรียกใช้งานครับ/ค่ะ

#การใช้งานเบื้องต้น

#สร้างงานตามกำหนดเวลา

ในการสร้าง เวิร์กโฟลว์ จากรายการ เวิร์กโฟลว์ ให้เลือกประเภทเป็น “งานตามกำหนดเวลา” ครับ/ค่ะ

สร้างงานตามกำหนดเวลา

#โหมดกำหนดเวลาเอง

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

กฎการทำซ้ำสามารถตั้งค่าได้ 2 แบบครับ/ค่ะ:

  • ตามช่วงเวลา (By interval): จะถูกเรียกใช้งานทุกช่วงเวลาที่กำหนดหลังจากเวลาเริ่มต้น เช่น ทุก 1 ชั่วโมง, ทุก 30 นาที เป็นต้นครับ/ค่ะ
  • โหมดขั้นสูง (Advanced mode): คือการตั้งค่าตามกฎ Cron ซึ่งสามารถกำหนดให้เรียกใช้งานตามรอบเวลาที่กำหนดไว้ตายตัวครับ/ค่ะ

หลังจากกำหนดกฎการทำซ้ำแล้ว คุณยังสามารถกำหนดเงื่อนไขการสิ้นสุดได้ด้วยครับ/ค่ะ โดยสามารถกำหนดให้สิ้นสุดที่จุดเวลาที่แน่นอน หรือจำกัดด้วยจำนวนครั้งที่เคยถูกเรียกใช้งานไปแล้วก็ได้ครับ/ค่ะ

#โหมดฟิลด์เวลาของคอลเลกชัน

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

#ข้อแนะนำเพิ่มเติม

#งานตามกำหนดเวลาที่อยู่ในสถานะไม่ได้เริ่มทำงานหรือหยุดทำงาน

หากเงื่อนไขเวลาที่ตั้งค่าไว้ตรงตามกำหนด แต่บริการแอปพลิเคชัน NocoBase ทั้งหมดอยู่ในสถานะที่ยังไม่ได้เริ่มทำงาน หรือหยุดทำงานอยู่ งานตามกำหนดเวลา ที่ควรจะถูกเรียกใช้งานในเวลานั้นจะถูกข้ามไปครับ/ค่ะ และหลังจากที่บริการกลับมาทำงานอีกครั้ง งานที่ถูกข้ามไปแล้วจะไม่ถูกเรียกใช้งานอีกครับ/ค่ะ ดังนั้น เมื่อใช้งาน คุณอาจต้องพิจารณาการจัดการสถานการณ์เหล่านี้ หรือมีมาตรการสำรองไว้ด้วยครับ/ค่ะ

#จำนวนครั้งที่ทำซ้ำ

เมื่อคุณตั้งค่าเงื่อนไขการสิ้นสุดแบบ 'ตามจำนวนครั้งที่ทำซ้ำ' ระบบจะนับจำนวนครั้งที่ เวิร์กโฟลว์ เดียวกันถูกเรียกใช้งานทั้งหมด ไม่ว่าจะอยู่ในเวอร์ชันใดก็ตามครับ/ค่ะ ตัวอย่างเช่น หาก งานตามกำหนดเวลา หนึ่งเคยถูกเรียกใช้งานไปแล้ว 10 ครั้งในเวอร์ชัน 1 และคุณตั้งค่าจำนวนครั้งที่ทำซ้ำไว้ที่ 10 ครั้ง เวิร์กโฟลว์ นี้จะไม่ถูกเรียกใช้งานอีกต่อไปครับ/ค่ะ แม้จะคัดลอกไปยังเวอร์ชันใหม่ ก็จะไม่ถูกเรียกใช้งาน เว้นแต่คุณจะเปลี่ยนจำนวนครั้งที่ทำซ้ำให้มากกว่า 10 ครับ/ค่ะ แต่ถ้าเป็นการคัดลอกเพื่อสร้างเป็น เวิร์กโฟลว์ ใหม่ จำนวนครั้งที่เคยถูกเรียกใช้งานจะถูกรีเซ็ตเป็น 0 และ เวิร์กโฟลว์ ใหม่นี้จะสามารถถูกเรียกใช้งานได้อีก 10 ครั้ง โดยไม่ต้องแก้ไขการตั้งค่าที่เกี่ยวข้องครับ/ค่ะ

#ความแตกต่างระหว่างช่วงเวลาและโหมดขั้นสูงในกฎการทำซ้ำ

การตั้งค่า 'ตามช่วงเวลา' ในกฎการทำซ้ำ จะอ้างอิงจากเวลาที่ถูกเรียกใช้งานครั้งล่าสุด (หรือเวลาเริ่มต้น) ครับ/ค่ะ ในขณะที่ 'โหมดขั้นสูง' จะเรียกใช้งานตามจุดเวลาที่กำหนดไว้ตายตัวครับ/ค่ะ ตัวอย่างเช่น หากตั้งค่าให้เรียกใช้งานทุก 30 นาที และครั้งล่าสุดถูกเรียกใช้งานเมื่อ 2021-09-01 12:01:23 เวลาที่จะถูกเรียกใช้งานครั้งถัดไปคือ 2021-09-01 12:31:23 ครับ/ค่ะ ส่วนโหมดขั้นสูง หรือโหมด Cron นั้น กฎที่ตั้งค่าไว้จะเรียกใช้งานตามจุดเวลาที่กำหนดตายตัวเสมอครับ/ค่ะ เช่น สามารถตั้งค่าให้เรียกใช้งานในนาทีที่ 01 และนาทีที่ 31 ของทุกชั่วโมงได้ครับ/ค่ะ

#ตัวอย่างการใช้งาน

สมมติว่าเราต้องการตรวจสอบคำสั่งซื้อที่ยังไม่ได้ชำระเงินนานเกิน 30 นาทีหลังจากสร้างคำสั่งซื้อทุกนาที และเปลี่ยนสถานะเป็น 'ยกเลิก' โดยอัตโนมัติ เราจะมาดูวิธีการทำสิ่งนี้ด้วยทั้งสองโหมดกันครับ/ค่ะ

#โหมดกำหนดเวลาเอง

สร้าง เวิร์กโฟลว์ ที่อิงตาม งานตามกำหนดเวลา โดยในการตั้งค่าทริกเกอร์ ให้เลือกโหมด “กำหนดเวลาเอง” กำหนดเวลาเริ่มต้นเป็นจุดเวลาใดก็ได้ที่ไม่ช้ากว่าเวลาปัจจุบัน เลือกกฎการทำซ้ำเป็น “ทุกนาที” และเว้นเงื่อนไขการสิ้นสุดไว้ครับ/ค่ะ

งานตามกำหนดเวลา_การตั้งค่าทริกเกอร์_โหมดกำหนดเวลาเอง

จากนั้น ให้ตั้งค่าโหนดอื่นๆ ตามตรรกะของกระบวนการ โดยคำนวณเวลาเมื่อ 30 นาทีที่แล้ว และเปลี่ยนสถานะของคำสั่งซื้อที่สร้างขึ้นก่อนเวลานั้นและยังไม่ได้ชำระเงินให้เป็น 'ยกเลิก' ครับ/ค่ะ

งานตามกำหนดเวลา_การตั้งค่าทริกเกอร์_โหมดกำหนดเวลาเอง

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

#โหมดฟิลด์เวลาของคอลเลกชัน

สร้าง เวิร์กโฟลว์ ที่อิงตาม งานตามกำหนดเวลา โดยในการตั้งค่าทริกเกอร์ ให้เลือกโหมด “ฟิลด์เวลาของ คอลเลกชัน” เลือก คอลเลกชัน “คำสั่งซื้อ” กำหนดเวลาเริ่มต้นเป็น 30 นาทีหลังจากเวลาสร้างคำสั่งซื้อ และเลือกกฎการทำซ้ำเป็น “ไม่ทำซ้ำ” ครับ/ค่ะ

งานตามกำหนดเวลา_การตั้งค่าทริกเกอร์_โหมดฟิลด์เวลาของคอลเลกชัน_ทริกเกอร์

จากนั้น ให้ตั้งค่าโหนดอื่นๆ ตามตรรกะของกระบวนการ เพื่ออัปเดตสถานะของคำสั่งซื้อที่มี ID ตรงกับ ID ของข้อมูลที่ถูกทริกเกอร์ และมีสถานะเป็น “ยังไม่ได้ชำระเงิน” ให้เป็น 'ยกเลิก' ครับ/ค่ะ

งานตามกำหนดเวลา_การตั้งค่าทริกเกอร์_โหมดฟิลด์เวลาของคอลเลกชัน_โหนดอัปเดต

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