Automation
งานเบื้องหลัง
งานเบื้องหลังติดตามงานที่ทำงาน นอกเซสชันการสนทนาหลักของคุณ: การรัน ACP, การสร้าง subagent, การดำเนินงาน cron แบบแยก, และการดำเนินการที่เริ่มจาก CLI
งาน ไม่ได้ แทนที่เซสชัน งาน Cron หรือ Heartbeat - งานเป็น บัญชีบันทึกกิจกรรม ที่บันทึกว่างานที่แยกออกไปเกิดอะไรขึ้น เมื่อใด และสำเร็จหรือไม่
สรุปย่อ
- งานคือ เรคคอร์ด ไม่ใช่ตัวจัดตารางเวลา - Cron และ Heartbeat เป็นตัวตัดสินว่า เมื่อใด งานจะทำงาน ส่วนงานติดตามว่า เกิดอะไรขึ้น
- ACP, subagent, งาน Cron ทั้งหมด และการดำเนินการของ CLI จะสร้างงาน เทิร์น Heartbeat จะไม่สร้าง
- แต่ละงานเคลื่อนผ่าน
queued → running → terminal(succeeded, failed, timed_out, cancelled หรือ lost) - งาน Cron จะยังคงมีสถานะ live ขณะที่รันไทม์ Cron ยังเป็นเจ้าของงานนั้นอยู่ หาก สถานะรันไทม์ในหน่วยความจำหายไป การบำรุงรักษางานจะตรวจสอบประวัติการรัน Cron แบบคงทนก่อน แล้วจึงทำเครื่องหมายงานว่า lost
- การเสร็จสิ้นขับเคลื่อนด้วย push: งานที่แยกออกไปสามารถแจ้งโดยตรงหรือปลุก เซสชัน/Heartbeat ของผู้ร้องขอเมื่อเสร็จสิ้น ดังนั้นลูป polling สถานะ จึงมักเป็นรูปแบบที่ไม่เหมาะสม
- การรัน Cron แบบแยกและการเสร็จสิ้นของ subagent จะพยายามทำความสะอาดแท็บเบราว์เซอร์/โปรเซสที่ติดตามไว้สำหรับเซสชันลูกก่อนการทำบัญชีทำความสะอาดขั้นสุดท้าย
- การส่งมอบ Cron แบบแยกจะระงับคำตอบชั่วคราวเก่าของพาเรนต์ขณะที่งาน subagent ลูกหลานยังคงระบายอยู่ และจะเลือกผลลัพธ์สุดท้ายของลูกหลานเมื่อมาถึงก่อนการส่งมอบ
- การแจ้งเตือนการเสร็จสิ้นจะถูกส่งโดยตรงไปยังช่องทางหรือเข้าคิวสำหรับ Heartbeat ถัดไป
openclaw tasks listแสดงงานทั้งหมด;openclaw tasks auditแสดงปัญหา- เรคคอร์ดปลายทางจะถูกเก็บไว้ 7 วัน แล้วถูกล้างโดยอัตโนมัติ
เริ่มต้นอย่างรวดเร็ว
แสดงรายการและกรอง
# List all tasks (newest first)openclaw tasks list # Filter by runtime or statusopenclaw tasks list --runtime acpopenclaw tasks list --status runningตรวจสอบ
# Show details for a specific task (by ID, run ID, or session key)openclaw tasks show <lookup>ยกเลิกและแจ้งเตือน
# Cancel a running task (kills the child session)openclaw tasks cancel <lookup> # Change notification policy for a taskopenclaw tasks notify <lookup> state_changesตรวจสอบและบำรุงรักษา
# Run a health auditopenclaw tasks audit # Preview or apply maintenanceopenclaw tasks maintenanceopenclaw tasks maintenance --applyโฟลว์งาน
# Inspect TaskFlow stateopenclaw tasks flow listopenclaw tasks flow show <lookup>openclaw tasks flow cancel <lookup>อะไรสร้างงาน
| แหล่งที่มา | ประเภทรันไทม์ | เมื่อเรคคอร์ดงานถูกสร้าง | นโยบายแจ้งเตือนเริ่มต้น |
|---|---|---|---|
| การรัน ACP เบื้องหลัง | acp |
สร้างเซสชัน ACP ลูก | done_only |
| การจัดการ subagent | subagent |
สร้าง subagent ผ่าน sessions_spawn |
done_only |
| งาน Cron (ทุกประเภท) | cron |
ทุกการดำเนินงาน Cron (เซสชันหลักและแบบแยก) | silent |
| การดำเนินการของ CLI | cli |
คำสั่ง openclaw agent ที่รันผ่าน Gateway |
silent |
| งานสื่อของเอเจนต์ | cli |
การรัน image_generate/music_generate/video_generate ที่มีเซสชันรองรับ |
silent |
ค่าเริ่มต้นการแจ้งเตือนสำหรับ Cron และสื่อ
งาน Cron ในเซสชันหลักใช้นโยบายแจ้งเตือน silent โดยค่าเริ่มต้น - งานเหล่านี้สร้างเรคคอร์ดเพื่อการติดตามแต่ไม่สร้างการแจ้งเตือน งาน Cron แบบแยกก็ใช้ค่าเริ่มต้นเป็น silent เช่นกัน แต่มองเห็นได้ชัดกว่าเพราะรันในเซสชันของตัวเอง
การรัน image_generate, music_generate และ video_generate ที่มีเซสชันรองรับก็ใช้นโยบายแจ้งเตือน silent เช่นกัน งานเหล่านี้ยังคงสร้างเรคคอร์ดงาน แต่การเสร็จสิ้นจะถูกส่งกลับไปยังเซสชันเอเจนต์เดิมเป็นการปลุกภายใน เพื่อให้เอเจนต์เขียนข้อความติดตามผลและแนบสื่อที่เสร็จแล้วเอง เอเจนต์ผู้ร้องขอจะทำตามสัญญาการตอบกลับที่มองเห็นได้ตามปกติ: ตอบกลับสุดท้ายอัตโนมัติเมื่อกำหนดค่าไว้ หรือ message(action="send") พร้อม NO_REPLY เมื่อเซสชันต้องใช้การตอบกลับผ่านเครื่องมือข้อความ หากเซสชันผู้ร้องขอไม่ active อีกต่อไปหรือการปลุก active ล้มเหลว และเอเจนต์ที่ทำการเสร็จสิ้นพลาดสื่อที่สร้างบางส่วนหรือทั้งหมด OpenClaw จะส่ง fallback โดยตรงแบบ idempotent พร้อมเฉพาะสื่อที่ขาดไปยังเป้าหมายช่องทางเดิม
ราวกันพลาดสำหรับการสร้างสื่อพร้อมกัน
ขณะที่งานสร้างสื่อที่มีเซสชันรองรับยัง active อยู่ เครื่องมือสื่อจะทำหน้าที่เป็นราวกันพลาดสำหรับการลองซ้ำโดยไม่ตั้งใจด้วย การเรียก image_generate ซ้ำสำหรับพรอมป์เดียวกันจะคืนสถานะงาน active ที่ตรงกัน ขณะที่พรอมป์รูปภาพที่แตกต่างสามารถเริ่มงานของตัวเองได้ การเรียก music_generate และ video_generate จะยังคงคืนสถานะงาน active สำหรับเซสชันนั้นแทนที่จะเริ่มการสร้างพร้อมกันรายการที่สอง ใช้ action: "status" เมื่อคุณต้องการค้นหาความคืบหน้า/สถานะอย่างชัดเจนจากฝั่งเอเจนต์
อะไรไม่สร้างงาน
- เทิร์น Heartbeat - เซสชันหลัก; ดู Heartbeat
- เทิร์นแชตโต้ตอบปกติ
- การตอบกลับ
/commandโดยตรง
วงจรชีวิตของงาน
stateDiagram-v2
[*] --> queued
queued --> running : agent starts
running --> succeeded : completes ok
running --> failed : error
running --> timed_out : timeout exceeded
running --> cancelled : operator cancels
queued --> lost : session gone > 5 min
running --> lost : session gone > 5 min| สถานะ | ความหมาย |
|---|---|
queued |
สร้างแล้ว กำลังรอให้เอเจนต์เริ่ม |
running |
เทิร์นของเอเจนต์กำลังดำเนินการอยู่ |
succeeded |
เสร็จสมบูรณ์สำเร็จ |
failed |
เสร็จสิ้นพร้อมข้อผิดพลาด |
timed_out |
เกิน timeout ที่กำหนดไว้ |
cancelled |
ถูกหยุดโดยโอเปอเรเตอร์ผ่าน openclaw tasks cancel |
lost |
รันไทม์สูญเสียสถานะหนุนหลังที่มีอำนาจหลังช่วงผ่อนผัน 5 นาที |
การเปลี่ยนสถานะเกิดขึ้นโดยอัตโนมัติ - เมื่อการรันเอเจนต์ที่เกี่ยวข้องจบลง สถานะงานจะอัปเดตให้ตรงกัน
การเสร็จสิ้นของการรันเอเจนต์เป็นแหล่งอำนาจสำหรับเรคคอร์ดงาน active การรันที่แยกออกไปและสำเร็จจะสรุปเป็น succeeded, ข้อผิดพลาดทั่วไปของการรันจะสรุปเป็น failed, และผลลัพธ์ timeout หรือ abort จะสรุปเป็น timed_out หากโอเปอเรเตอร์ยกเลิกงานไปแล้ว หรือรันไทม์บันทึกสถานะปลายทางที่แรงกว่าไว้แล้ว เช่น failed, timed_out หรือ lost สัญญาณสำเร็จที่มาภายหลังจะไม่ลดระดับสถานะปลายทางนั้น
lost รับรู้ตามรันไทม์:
- งาน ACP: เมทาดาทาเซสชัน ACP ลูกที่หนุนหลังหายไป
- งาน subagent: เซสชันลูกที่หนุนหลังหายไปจากสโตร์เอเจนต์เป้าหมาย
- งาน Cron: รันไทม์ Cron ไม่ติดตามงานว่า active อีกต่อไป และประวัติการรัน Cron แบบคงทนไม่แสดงผลลัพธ์ปลายทางสำหรับการรันนั้น การ audit ของ CLI แบบออฟไลน์ ไม่ถือว่าสถานะรันไทม์ Cron ในโปรเซสที่ว่างเปล่าของตัวเองเป็นอำนาจ
- งาน CLI: งานที่มี run id/source id ใช้บริบทการรัน live ดังนั้น
แถวเซสชันลูกหรือเซสชันแชตที่ค้างอยู่จะไม่ทำให้ยังมีชีวิตอยู่หลังจาก
การรันที่ Gateway เป็นเจ้าของหายไป งาน CLI แบบเดิมที่ไม่มีตัวตนการรันยังคง
fallback ไปยังเซสชันลูก การรัน
openclaw agentที่มี Gateway รองรับจะสรุป จากผลการรันด้วย ดังนั้นการรันที่เสร็จแล้วจะไม่ค้าง active จนกว่า sweeper จะทำเครื่องหมายเป็นlost
การส่งมอบและการแจ้งเตือน
เมื่องานถึงสถานะปลายทาง OpenClaw จะแจ้งคุณ มีเส้นทางการส่งมอบสองแบบ:
การส่งมอบโดยตรง - หากงานมีเป้าหมายช่องทาง (requesterOrigin) ข้อความเสร็จสิ้นจะส่งตรงไปยังช่องทางนั้น (Telegram, Discord, Slack ฯลฯ) การเสร็จสิ้นของงานในกลุ่มและช่องทางจะถูกกำหนดเส้นทางผ่านเซสชันผู้ร้องขอแทน เพื่อให้เอเจนต์พาเรนต์เขียนคำตอบที่มองเห็นได้ สำหรับการเสร็จสิ้นของ subagent OpenClaw ยังรักษาการกำหนดเส้นทาง thread/topic ที่ผูกไว้เมื่อมี และสามารถเติม to / บัญชีที่ขาดหายจาก route ที่เก็บไว้ของเซสชันผู้ร้องขอ (lastChannel / lastTo / lastAccountId) ก่อนจะยอมแพ้กับการส่งมอบโดยตรง
การส่งมอบแบบเข้าคิวในเซสชัน - หากการส่งมอบโดยตรงล้มเหลวหรือไม่ได้ตั้ง origin ไว้ การอัปเดตจะถูกเข้าคิวเป็นอีเวนต์ระบบในเซสชันของผู้ร้องขอและแสดงบน Heartbeat ถัดไป
นั่นหมายความว่าเวิร์กโฟลว์ปกติเป็นแบบ push-based: เริ่มงานที่แยกออกไปหนึ่งครั้ง แล้วปล่อยให้รันไทม์ปลุกหรือแจ้งคุณเมื่อเสร็จสิ้น ตรวจสอบสถานะงานด้วย polling เฉพาะเมื่อคุณต้องการดีบัก แทรกแซง หรือ audit อย่างชัดเจน
นโยบายการแจ้งเตือน
ควบคุมว่าคุณจะได้ยินเกี่ยวกับแต่ละงานมากเพียงใด:
| นโยบาย | สิ่งที่ถูกส่งมอบ |
|---|---|
done_only (ค่าเริ่มต้น) |
เฉพาะสถานะปลายทาง (succeeded, failed ฯลฯ) - นี่คือค่าเริ่มต้น |
state_changes |
ทุกการเปลี่ยนสถานะและการอัปเดตความคืบหน้า |
silent |
ไม่มีอะไรเลย |
เปลี่ยนนโยบายขณะที่งานกำลังรัน:
openclaw tasks notify <lookup> state_changesอ้างอิง CLI
tasks list
openclaw tasks list [--runtime <acp|subagent|cron|cli>] [--status <status>] [--json]คอลัมน์เอาต์พุต: Task ID, Kind, Status, Delivery, Run ID, Child Session, Summary
tasks show
openclaw tasks show <lookup>โทเค็นค้นหารับ task ID, run ID หรือ session key แสดงเรคคอร์ดเต็มรวมถึงเวลา สถานะการส่งมอบ ข้อผิดพลาด และสรุปปลายทาง
tasks cancel
openclaw tasks cancel <lookup>สำหรับงาน ACP และ subagent คำสั่งนี้จะ kill เซสชันลูก สำหรับงานที่ CLI ติดตาม การยกเลิกจะถูกบันทึกในทะเบียนงาน (ไม่มี handle รันไทม์ลูกแยกต่างหาก) สถานะจะเปลี่ยนเป็น cancelled และส่งการแจ้งเตือนการส่งมอบเมื่อเกี่ยวข้อง
tasks notify
openclaw tasks notify <lookup> <done_only|state_changes|silent>tasks audit
openclaw tasks audit [--json]แสดงปัญหาการปฏิบัติการ สิ่งที่ตรวจพบจะปรากฏใน openclaw status ด้วยเมื่อตรวจพบปัญหา
| ข้อค้นพบ | ความรุนแรง | ตัวกระตุ้น |
|---|---|---|
stale_queued |
warn | อยู่ในคิวนานกว่า 10 นาที |
stale_running |
error | ทำงานนานกว่า 30 นาที |
lost |
warn/error | ความเป็นเจ้าของงานที่มีรันไทม์รองรับหายไป; งานที่สูญหายซึ่งถูกเก็บไว้จะเตือนจนถึง cleanupAfter จากนั้นจะกลายเป็นข้อผิดพลาด |
delivery_failed |
warn | การส่งล้มเหลวและนโยบายการแจ้งเตือนไม่ใช่ silent |
missing_cleanup |
warn | งานปลายทางที่ไม่มีเวลาประทับการล้างข้อมูล |
inconsistent_timestamps |
warn | การละเมิดไทม์ไลน์ (เช่น สิ้นสุดก่อนเริ่มต้น) |
tasks maintenance
openclaw tasks maintenance [--json]openclaw tasks maintenance --apply [--json]ใช้สิ่งนี้เพื่อดูตัวอย่างหรือใช้การกระทบยอด การประทับเวลาการล้างข้อมูล และการตัดแต่งสำหรับงาน สถานะ Task Flow และแถวรีจิสทรีเซสชันการรัน cron ที่เก่า
การกระทบยอดรับรู้รันไทม์:
- งาน ACP/subagent ตรวจสอบเซสชันลูกที่รองรับงานนั้น
- งาน Subagent ที่เซสชันลูกมี tombstone การกู้คืนหลังรีสตาร์ตจะถูกทำเครื่องหมายว่าสูญหาย แทนที่จะถือว่าเป็นเซสชันรองรับที่กู้คืนได้
- งาน Cron ตรวจสอบว่ารันไทม์ cron ยังเป็นเจ้าของงานอยู่หรือไม่ จากนั้นกู้คืนสถานะปลายทางจากบันทึกการรัน cron/สถานะงานที่คงอยู่ ก่อนจะ fallback ไปเป็น
lostเฉพาะกระบวนการ Gateway เท่านั้นที่เป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับชุด active-job ของ cron ในหน่วยความจำ; การตรวจสอบ CLI แบบออฟไลน์ใช้ประวัติที่คงทน แต่จะไม่ทำเครื่องหมายงาน cron ว่าสูญหายเพียงเพราะ Set ในเครื่องนั้นว่างเปล่า - งาน CLI ที่มีตัวตนการรันจะตรวจสอบบริบทรันสดที่เป็นเจ้าของ ไม่ใช่แค่แถว child-session หรือ chat-session
การล้างข้อมูลเมื่อเสร็จสิ้นก็รับรู้รันไทม์เช่นกัน:
- การเสร็จสิ้นของ Subagent จะพยายามปิดแท็บ/กระบวนการเบราว์เซอร์ที่ติดตามไว้สำหรับเซสชันลูก ก่อนที่การล้างข้อมูลการประกาศจะดำเนินต่อ
- การเสร็จสิ้นของ cron แบบแยกจะพยายามปิดแท็บ/กระบวนการเบราว์เซอร์ที่ติดตามไว้สำหรับเซสชัน cron ก่อนที่การรันจะถูกรื้อถอนทั้งหมด
- การส่งของ cron แบบแยกจะรอการติดตามผลของ subagent ลูกหลานเมื่อจำเป็น และระงับข้อความตอบรับของพาเรนต์ที่เก่าแทนที่จะประกาศข้อความนั้น
- การส่งเมื่อ Subagent เสร็จสิ้นใช้เฉพาะข้อความผู้ช่วยล่าสุดที่มองเห็นได้ของลูกเท่านั้น เอาต์พุต Tool/toolResult จะไม่ถูกเลื่อนระดับเป็นข้อความผลลัพธ์ของลูก การรันปลายทางที่ล้มเหลวจะประกาศสถานะล้มเหลวโดยไม่เล่นซ้ำข้อความตอบกลับที่จับไว้
- ความล้มเหลวในการล้างข้อมูลจะไม่บดบังผลลัพธ์จริงของงาน
เมื่อใช้การบำรุงรักษา OpenClaw จะลบแถวรีจิสทรีเซสชัน cron:<jobId>:run:<uuid> ที่เก่ากว่า 7 วันด้วย พร้อมคงแถวสำหรับงาน cron ที่กำลังรันอยู่ในปัจจุบัน และปล่อยแถวเซสชันที่ไม่ใช่ cron ไว้เหมือนเดิม
tasks flow list | show | cancel
openclaw tasks flow list [--status <status>] [--json]openclaw tasks flow show <lookup> [--json]openclaw tasks flow cancel <lookup>ใช้คำสั่งเหล่านี้เมื่อ Task Flow ที่ทำหน้าที่จัดลำดับงานคือสิ่งที่คุณสนใจ แทนที่จะเป็นเรคคอร์ดงานเบื้องหลังรายตัว
บอร์ดงานแชท (/tasks)
ใช้ /tasks ในเซสชันแชทใดก็ได้เพื่อดูงานเบื้องหลังที่เชื่อมโยงกับเซสชันนั้น บอร์ดจะแสดงงานที่ใช้งานอยู่และงานที่เพิ่งเสร็จสิ้น พร้อมรันไทม์ สถานะ เวลา และรายละเอียดความคืบหน้าหรือข้อผิดพลาด
เมื่อเซสชันปัจจุบันไม่มีงานที่เชื่อมโยงและมองเห็นได้ /tasks จะ fallback ไปยังจำนวนงานในเครื่องของเอเจนต์ เพื่อให้คุณยังได้ภาพรวมโดยไม่รั่วไหลรายละเอียดของเซสชันอื่น
สำหรับบัญชีแยกประเภทฉบับเต็มสำหรับผู้ปฏิบัติการ ให้ใช้ CLI: openclaw tasks list
การผสานรวมสถานะ (แรงกดดันจากงาน)
openclaw status มีสรุปงานแบบดูได้ทันที:
Tasks: 3 queued · 2 running · 1 issuesสรุปรายงาน:
- active - จำนวนของ
queued+running - failures - จำนวนของ
failed+timed_out+lost - byRuntime - การแจกแจงตาม
acp,subagent,cron,cli
ทั้ง /status และเครื่องมือ session_status ใช้สแนปช็อตงานที่รับรู้การล้างข้อมูล: งานที่ใช้งานอยู่จะได้รับความสำคัญ แถวที่เสร็จสิ้นและเก่าจะถูกซ่อน และความล้มเหลวล่าสุดจะแสดงเฉพาะเมื่อไม่มีงานที่ใช้งานอยู่เหลืออยู่ สิ่งนี้ช่วยให้การ์ดสถานะโฟกัสกับสิ่งที่สำคัญในตอนนี้
ที่เก็บข้อมูลและการบำรุงรักษา
งานอยู่ที่ไหน
เรคคอร์ดงานคงอยู่ใน SQLite ที่:
$OPENCLAW_STATE_DIR/tasks/runs.sqliteรีจิสทรีโหลดเข้าสู่หน่วยความจำเมื่อ Gateway เริ่มต้น และซิงค์การเขียนไปยัง SQLite เพื่อความทนทานข้ามการรีสตาร์ต
Gateway ทำให้ write-ahead log ของ SQLite มีขอบเขตโดยใช้ค่าเกณฑ์ autocheckpoint เริ่มต้นของ SQLite
ร่วมกับ checkpoint แบบ PASSIVE เป็นระยะ การปิดระบบและ
checkpoint การบำรุงรักษาแบบชัดเจนยังคงใช้ TRUNCATE เพื่อให้การปิดตามปกติสามารถ
เรียกคืนพื้นที่ WAL ได้โดยไม่ทำให้ sweeper เบื้องหลังต้องรอ reader ที่ใช้งานอยู่
การบำรุงรักษาอัตโนมัติ
sweeper ทำงานทุก 60 วินาที และจัดการสี่สิ่ง:
Reconciliation
ตรวจสอบว่างานที่ใช้งานอยู่ยังมีสิ่งรองรับรันไทม์ที่เชื่อถือได้หรือไม่ งาน ACP/subagent ใช้สถานะ child-session, งาน cron ใช้ความเป็นเจ้าของ active-job และงาน CLI ที่มีตัวตนการรันใช้บริบทรันที่เป็นเจ้าของ หากสถานะรองรับนั้นหายไปนานกว่า 5 นาที งานจะถูกทำเครื่องหมายเป็น lost
ACP session repair
ปิดเซสชัน ACP แบบ one-shot ที่เป็นของพาเรนต์และเป็นปลายทางหรือกำพร้า และปิดเซสชัน ACP แบบ persistent ที่เป็นปลายทางและเก่าหรือกำพร้า เฉพาะเมื่อไม่มีการผูกบทสนทนาที่ใช้งานอยู่เหลืออยู่
Cleanup stamping
ตั้งเวลาประทับ cleanupAfter บนงานปลายทาง (endedAt + 7 วัน) ระหว่างช่วงเก็บรักษา งานที่สูญหายยังปรากฏในการตรวจสอบเป็นคำเตือน; หลังจาก cleanupAfter หมดอายุ หรือเมื่อข้อมูลเมตาการล้างข้อมูลหายไป งานเหล่านั้นจะเป็นข้อผิดพลาด
Pruning
ลบเรคคอร์ดที่เลยวันที่ cleanupAfter
งานสัมพันธ์กับระบบอื่นอย่างไร
Tasks and Task Flow
Task Flow คือเลเยอร์จัดลำดับโฟลว์เหนือกว่างานเบื้องหลัง โฟลว์เดียวอาจประสานหลายงานตลอดอายุการทำงานโดยใช้โหมดซิงค์แบบ managed หรือ mirrored ใช้ openclaw tasks เพื่อตรวจสอบเรคคอร์ดงานรายตัว และ openclaw tasks flow เพื่อตรวจสอบโฟลว์ที่ทำหน้าที่จัดลำดับ
ดูรายละเอียดที่ Task Flow
Tasks and cron
คำจำกัดความของงาน Cron สถานะการดำเนินการของรันไทม์ และประวัติการรันอยู่ในฐานข้อมูลสถานะ SQLite ที่ใช้ร่วมกันของ OpenClaw การดำเนินการ cron ทุกครั้ง จะสร้างเรคคอร์ดงาน ทั้งแบบ main-session และแบบแยก งาน cron แบบ main-session มีนโยบายแจ้งเตือนเริ่มต้นเป็น silent เพื่อให้ติดตามได้โดยไม่สร้างการแจ้งเตือน
ดู งาน Cron
Tasks and heartbeat
การรัน Heartbeat เป็นเทิร์นแบบ main-session และจะไม่สร้างเรคคอร์ดงาน เมื่องานเสร็จสิ้น งานนั้นสามารถกระตุ้นการปลุก heartbeat เพื่อให้คุณเห็นผลลัพธ์ได้ทันที
ดู Heartbeat
Tasks and sessions
งานอาจอ้างอิง childSessionKey (ที่งานรันอยู่) และ requesterSessionKey (ผู้เริ่มงาน) agentId ของงานระบุเอเจนต์ที่ดำเนินงาน ขณะที่ฟิลด์ requester และ owner เก็บบริบทการเริ่มต้นและการควบคุมไว้ เซสชันคือบริบทบทสนทนา; งานคือการติดตามกิจกรรมที่อยู่เหนือสิ่งนั้น
Tasks and agent runs
runId ของงานเชื่อมโยงไปยังการรันของเอเจนต์ที่กำลังทำงานนั้น เหตุการณ์วงจรชีวิตของเอเจนต์ (เริ่มต้น สิ้นสุด ข้อผิดพลาด) จะอัปเดตสถานะงานโดยอัตโนมัติ คุณไม่จำเป็นต้องจัดการวงจรชีวิตด้วยตนเอง
ที่เกี่ยวข้อง
- ระบบอัตโนมัติ - กลไกอัตโนมัติทั้งหมดในภาพรวม
- CLI: Tasks - อ้างอิงคำสั่ง CLI
- Heartbeat - เทิร์น main-session เป็นระยะ
- งานตามกำหนดเวลา - การจัดกำหนดการงานเบื้องหลัง
- Task Flow - การจัดลำดับโฟลว์เหนือกว่างาน