Automation

งานเบื้องหลัง

งานเบื้องหลังติดตามงานที่รัน นอกเซสชันการสนทนาหลักของคุณ: การรัน ACP, การสร้างเอเจนต์ย่อย, การดำเนินงาน Cron แบบแยกส่วน และการดำเนินการที่เริ่มจาก CLI

งาน ไม่ได้ มาแทนที่เซสชัน งาน Cron หรือ Heartbeat - งานเป็น บัญชีกิจกรรม ที่บันทึกว่างานแบบแยกตัวใดเกิดขึ้น เมื่อใด และสำเร็จหรือไม่

สรุปย่อ

  • งานคือ ระเบียน ไม่ใช่ตัวตั้งเวลา - Cron และ Heartbeat เป็นตัวตัดสินว่า เมื่อใด งานจะรัน ส่วนงานติดตามว่า เกิดอะไรขึ้น
  • ACP, เอเจนต์ย่อย, งาน Cron ทั้งหมด และการดำเนินการ CLI จะสร้างงาน เทิร์น Heartbeat จะไม่สร้าง
  • แต่ละงานจะเคลื่อนผ่าน queued → running → terminal (succeeded, failed, timed_out, cancelled หรือ lost)
  • งาน Cron จะยังคงเป็นงานที่ทำงานอยู่ตราบใดที่รันไทม์ Cron ยังเป็นเจ้าของงานนั้นอยู่ หาก สถานะรันไทม์ในหน่วยความจำหายไป การบำรุงรักษางานจะตรวจสอบประวัติการรัน Cron ที่คงทนก่อน แล้วจึงทำเครื่องหมายงานว่าสูญหาย
  • การเสร็จสิ้นถูกขับเคลื่อนแบบพุช: งานแบบแยกตัวสามารถแจ้งโดยตรงหรือปลุก เซสชัน/Heartbeat ของผู้ร้องขอเมื่อทำเสร็จ ดังนั้นลูปการโพลสถานะจึง มักเป็นรูปแบบที่ไม่เหมาะสม
  • การรัน Cron แบบแยกส่วนและการเสร็จสิ้นของเอเจนต์ย่อยจะพยายามล้างแท็บเบราว์เซอร์/โปรเซสที่ติดตามไว้สำหรับเซสชันลูกก่อนการเก็บกวาดขั้นสุดท้าย
  • การส่งมอบ Cron แบบแยกส่วนจะระงับการตอบกลับชั่วคราวของพาเรนต์ที่ล้าสมัยขณะที่งานเอเจนต์ย่อยรุ่นถัดลงมายังระบายงานอยู่ และจะเลือกเอาต์พุตสุดท้ายของรุ่นถัดลงมาเมื่อเอาต์พุตนั้นมาถึงก่อนการส่งมอบ
  • การแจ้งเตือนการเสร็จสิ้นจะถูกส่งโดยตรงไปยังช่องทาง หรือเข้าคิวไว้สำหรับ Heartbeat ถัดไป
  • openclaw tasks list แสดงงานทั้งหมด; openclaw tasks audit แสดงปัญหา
  • ระเบียนปลายทางจะถูกเก็บไว้ 7 วัน จากนั้นจะถูกตัดทิ้งโดยอัตโนมัติ

เริ่มต้นอย่างรวดเร็ว

แสดงรายการและกรอง

bash
# แสดงรายการงานทั้งหมด (รายการใหม่สุดก่อน)openclaw tasks list # กรองตามรันไทม์หรือสถานะopenclaw tasks list --runtime acpopenclaw tasks list --status running

ตรวจสอบ

bash
# แสดงรายละเอียดของงานที่ระบุ (ตาม ID, run ID หรือ session key)openclaw tasks show <lookup>

ยกเลิกและแจ้งเตือน

bash
# ยกเลิกงานที่กำลังรัน (ฆ่าเซสชันลูก)openclaw tasks cancel <lookup> # เปลี่ยนนโยบายการแจ้งเตือนสำหรับงานopenclaw tasks notify <lookup> state_changes

ตรวจสอบและบำรุงรักษา

bash
# รันการตรวจสอบสุขภาพopenclaw tasks audit # ดูตัวอย่างหรือใช้การบำรุงรักษาopenclaw tasks maintenanceopenclaw tasks maintenance --apply

โฟลว์งาน

bash
# ตรวจสอบสถานะ TaskFlowopenclaw tasks flow listopenclaw tasks flow show <lookup>openclaw tasks flow cancel <lookup>

สิ่งที่สร้างงาน

แหล่งที่มา ประเภทรันไทม์ ระเบียนงานถูกสร้างเมื่อใด นโยบายแจ้งเตือนเริ่มต้น
การรันเบื้องหลัง ACP acp สร้างเซสชัน ACP ลูก done_only
การจัดการเอเจนต์ย่อย subagent สร้างเอเจนต์ย่อยผ่าน sessions_spawn done_only
งาน Cron (ทุกประเภท) cron ทุกการดำเนินการ Cron (เซสชันหลักและแบบแยกส่วน) silent
การดำเนินการ CLI cli คำสั่ง openclaw agent ที่รันผ่าน Gateway silent
งานสื่อของเอเจนต์ cli การรัน music_generate/video_generate ที่มีเซสชันหนุนหลัง silent
ค่าเริ่มต้นการแจ้งเตือนสำหรับ Cron และสื่อ

งาน Cron ในเซสชันหลักใช้นโยบายแจ้งเตือน silent เป็นค่าเริ่มต้น - งานเหล่านี้สร้างระเบียนเพื่อการติดตาม แต่ไม่สร้างการแจ้งเตือน งาน Cron แบบแยกส่วนก็ใช้ค่าเริ่มต้นเป็น silent เช่นกัน แต่มองเห็นได้ชัดกว่าเพราะรันในเซสชันของตัวเอง

การรัน music_generate และ video_generate ที่มีเซสชันหนุนหลังก็ใช้นโยบายแจ้งเตือน silent เช่นกัน งานเหล่านี้ยังคงสร้างระเบียนงาน แต่การเสร็จสิ้นจะถูกส่งกลับไปยังเซสชันเอเจนต์ต้นทางเป็นการปลุกภายใน เพื่อให้เอเจนต์เขียนข้อความติดตามผลและแนบสื่อที่เสร็จแล้วด้วยตัวเอง การเสร็จสิ้นในกลุ่ม/ช่องทางจะทำตามนโยบายการตอบกลับที่มองเห็นได้ตามปกติ ดังนั้นเอเจนต์จะใช้เครื่องมือข้อความเมื่อการส่งมอบจากต้นทางต้องการสิ่งนั้น หากเอเจนต์ที่จัดการการเสร็จสิ้นไม่สามารถสร้างหลักฐานการส่งมอบด้วยเครื่องมือข้อความในเส้นทางที่ใช้เฉพาะเครื่องมือ OpenClaw จะส่งตัวสำรองการเสร็จสิ้นโดยตรงไปยังช่องทางต้นทางแทนการปล่อยให้สื่อเป็นแบบส่วนตัว

ราวกันตกสำหรับ video_generate พร้อมกัน

ขณะที่งาน video_generate ที่มีเซสชันหนุนหลังยังทำงานอยู่ เครื่องมือนี้ยังทำหน้าที่เป็นราวกันตกด้วย: การเรียก video_generate ซ้ำในเซสชันเดียวกันจะคืนสถานะงานที่ยังทำงานอยู่แทนการเริ่มการสร้างครั้งที่สองพร้อมกัน ใช้ 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 เกินเวลาหมดเวลาที่กำหนดไว้
cancelled ถูกหยุดโดยผู้ปฏิบัติงานผ่าน openclaw tasks cancel
lost รันไทม์สูญเสียสถานะหนุนหลังที่มีอำนาจหลังพ้นช่วงผ่อนผัน 5 นาที

การเปลี่ยนสถานะเกิดขึ้นโดยอัตโนมัติ - เมื่อการรันเอเจนต์ที่เกี่ยวข้องสิ้นสุดลง สถานะงานจะอัปเดตให้ตรงกัน

การเสร็จสิ้นของการรันเอเจนต์เป็นแหล่งข้อมูลที่มีอำนาจสำหรับระเบียนงานที่ทำงานอยู่ การรันแบบแยกตัวที่สำเร็จจะสรุปเป็น succeeded, ข้อผิดพลาดการรันทั่วไปจะสรุปเป็น failed และผลลัพธ์จากการหมดเวลาหรือการยกเลิกจะสรุปเป็น timed_out หากผู้ปฏิบัติงานยกเลิกงานไปแล้ว หรือรันไทม์บันทึกสถานะปลายทางที่หนักกว่าไว้แล้ว เช่น failed, timed_out หรือ lost สัญญาณสำเร็จที่มาภายหลังจะไม่ลดระดับสถานะปลายทางนั้น

lost ตระหนักถึงรันไทม์:

  • งาน ACP: เมตาดาต้าเซสชัน ACP ลูกที่หนุนหลังหายไป
  • งานเอเจนต์ย่อย: เซสชันลูกที่หนุนหลังหายไปจากสโตร์ของเอเจนต์เป้าหมาย
  • งาน Cron: รันไทม์ Cron ไม่ติดตามงานว่าเป็นงานที่ทำงานอยู่อีกต่อไป และประวัติ การรัน Cron ที่คงทนไม่แสดงผลลัพธ์ปลายทางสำหรับการรันนั้น การตรวจสอบ CLI ออฟไลน์จะไม่ถือว่าสถานะรันไทม์ Cron ในโปรเซสของตัวเองที่ว่างเปล่าเป็นแหล่งข้อมูลที่มีอำนาจ
  • งาน CLI: งานที่มี run id/source id ใช้บริบทการรันสด ดังนั้น แถวเซสชันลูกหรือแถวเซสชันแชตที่ค้างอยู่จะไม่ทำให้งานยังมีชีวิตอยู่หลังจาก การรันที่ Gateway เป็นเจ้าของหายไป งาน CLI แบบเดิมที่ไม่มีตัวตนการรันยังคง ถอยกลับไปใช้เซสชันลูก การรัน openclaw agent ที่มี Gateway หนุนหลังก็สรุป จากผลลัพธ์การรันเช่นกัน ดังนั้นการรันที่เสร็จแล้วจะไม่ค้างเป็นงานที่ทำงานอยู่จนกว่า sweeper จะทำเครื่องหมายเป็น lost

การส่งมอบและการแจ้งเตือน

เมื่องานไปถึงสถานะปลายทาง OpenClaw จะแจ้งเตือนคุณ มีเส้นทางการส่งมอบสองแบบ:

การส่งมอบโดยตรง - หากงานมีเป้าหมายช่องทาง (requesterOrigin) ข้อความการเสร็จสิ้นจะส่งตรงไปยังช่องทางนั้น (Telegram, Discord, Slack ฯลฯ) การเสร็จสิ้นของงานในกลุ่มและช่องทางจะถูกส่งผ่านเซสชันผู้ร้องขอแทน เพื่อให้เอเจนต์พาเรนต์เขียนการตอบกลับที่มองเห็นได้ สำหรับการเสร็จสิ้นของเอเจนต์ย่อย OpenClaw ยังรักษาการกำหนดเส้นทางเธรด/หัวข้อที่ผูกไว้เมื่อมี และสามารถเติม to / บัญชีที่ขาดหายไปจากเส้นทางที่บันทึกไว้ของเซสชันผู้ร้องขอ (lastChannel / lastTo / lastAccountId) ก่อนยอมแพ้กับการส่งมอบโดยตรง

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

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

นโยบายการแจ้งเตือน

ควบคุมว่าคุณจะได้ยินเกี่ยวกับแต่ละงานมากน้อยเพียงใด:

นโยบาย สิ่งที่ถูกส่งมอบ
done_only (ค่าเริ่มต้น) เฉพาะสถานะปลายทาง (succeeded, failed ฯลฯ) - นี่คือค่าเริ่มต้น
state_changes ทุกการเปลี่ยนสถานะและการอัปเดตความคืบหน้า
silent ไม่มีอะไรเลย

เปลี่ยนนโยบายขณะที่งานกำลังรัน:

bash
openclaw tasks notify <lookup> state_changes

อ้างอิง CLI

tasks list
bash
openclaw tasks list [--runtime <acp|subagent|cron|cli>] [--status <status>] [--json]

คอลัมน์เอาต์พุต: Task ID, Kind, Status, Delivery, Run ID, Child Session, Summary.

tasks show
bash
openclaw tasks show <lookup>

โทเค็นค้นหารับ task ID, run ID หรือ session key แสดงระเบียนเต็ม รวมถึงเวลา สถานะการส่งมอบ ข้อผิดพลาด และสรุปปลายทาง

tasks cancel
bash
openclaw tasks cancel <lookup>

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

tasks notify
bash
openclaw tasks notify <lookup> <done_only|state_changes|silent>
tasks audit
bash
openclaw tasks audit [--json]

แสดงปัญหาการปฏิบัติงาน ผลการตรวจพบยังปรากฏใน openclaw status เมื่อพบปัญหา

ผลการตรวจพบ ความรุนแรง ตัวกระตุ้น
stale_queued warn อยู่ในคิวมานานกว่า 10 นาที
stale_running error กำลังทำงานมานานกว่า 30 นาที
lost warn/error ความเป็นเจ้าของงานที่มี runtime รองรับหายไป; งานที่สูญหายที่ยังคงอยู่จะแจ้งเตือนจนถึง cleanupAfter แล้วจึงกลายเป็นข้อผิดพลาด
delivery_failed warn การส่งล้มเหลวและนโยบายการแจ้งเตือนไม่ใช่ silent
missing_cleanup warn งานสิ้นสุดที่ไม่มีเวลาประทับการล้างข้อมูล
inconsistent_timestamps warn การละเมิดลำดับเวลา (เช่น สิ้นสุดก่อนเริ่มต้น)
การบำรุงรักษางาน
bash
openclaw tasks maintenance [--json]openclaw tasks maintenance --apply [--json]

ใช้คำสั่งนี้เพื่อดูตัวอย่างหรือใช้การกระทบยอด การประทับเวลาล้างข้อมูล และการตัดข้อมูลสำหรับงาน สถานะ Task Flow และแถวรีจิสทรีเซสชันการรัน cron ที่ค้างเก่า

การกระทบยอดรับรู้ runtime:

  • งาน ACP/subagent ตรวจสอบเซสชันลูกที่รองรับงานนั้น
  • งาน subagent ที่เซสชันลูกมี tombstone สำหรับการกู้คืนหลังรีสตาร์ตจะถูกทำเครื่องหมายว่าสูญหาย แทนที่จะถือว่าเป็นเซสชันรองรับที่กู้คืนได้
  • งาน Cron ตรวจสอบว่า cron runtime ยังเป็นเจ้าของงานอยู่หรือไม่ จากนั้นกู้คืนสถานะสิ้นสุดจากบันทึกการรัน cron/สถานะงานที่คงอยู่ ก่อนถอยกลับเป็น lost เฉพาะโปรเซส Gateway เท่านั้นที่เป็นแหล่งอ้างอิงสำหรับชุด active-job ของ cron ในหน่วยความจำ; การตรวจสอบ CLI แบบออฟไลน์ใช้ประวัติถาวร แต่ไม่ทำเครื่องหมายงาน cron ว่าสูญหายเพียงเพราะ Set ภายในเครื่องนั้นว่าง
  • งาน CLI ที่มีข้อมูลระบุตัวตนการรันจะตรวจสอบบริบทการรันสดที่เป็นเจ้าของ ไม่ใช่แค่แถวเซสชันลูกหรือเซสชันแชต

การล้างข้อมูลเมื่อเสร็จสิ้นยังรับรู้ runtime ด้วย:

  • การเสร็จสิ้นของ subagent จะพยายามปิดแท็บเบราว์เซอร์/โปรเซสที่ติดตามไว้สำหรับเซสชันลูกก่อนที่การล้างข้อมูลประกาศจะดำเนินต่อ
  • การเสร็จสิ้นของ cron แบบแยกจะพยายามปิดแท็บเบราว์เซอร์/โปรเซสที่ติดตามไว้สำหรับเซสชัน cron ก่อนที่การรันจะปิดตัวลงทั้งหมด
  • การส่งของ cron แบบแยกจะรอการติดตามผลจาก subagent สืบทอดเมื่อจำเป็น และระงับข้อความตอบรับจากแม่ที่ค้างเก่าแทนที่จะประกาศข้อความนั้น
  • การส่งเมื่อ subagent เสร็จสิ้นจะเลือกข้อความผู้ช่วยล่าสุดที่มองเห็นได้ก่อน; หากข้อความนั้นว่าง จะถอยกลับไปใช้ข้อความ tool/toolResult ล่าสุดที่ผ่านการทำความสะอาดแล้ว และการรันที่มี tool-call แบบหมดเวลาเท่านั้นสามารถยุบเป็นสรุปความคืบหน้าบางส่วนแบบสั้นได้ การรันที่ล้มเหลวในสถานะสิ้นสุดจะประกาศสถานะล้มเหลวโดยไม่เล่นข้อความตอบกลับที่จับไว้ซ้ำ
  • ความล้มเหลวในการล้างข้อมูลจะไม่บดบังผลลัพธ์จริงของงาน

เมื่อใช้การบำรุงรักษา OpenClaw ยังลบแถวรีจิสทรีเซสชัน cron:<jobId>:run:<uuid> ที่ค้างเก่าเกิน 7 วัน ขณะยังคงเก็บแถวสำหรับงาน cron ที่กำลังทำงานอยู่และไม่แตะแถวเซสชันที่ไม่ใช่ cron

tasks flow list | show | cancel
bash
openclaw tasks flow list [--status <status>] [--json]openclaw tasks flow show <lookup> [--json]openclaw tasks flow cancel <lookup>

ใช้คำสั่งเหล่านี้เมื่อ Task Flow ที่ทำหน้าที่จัดการลำดับงานคือสิ่งที่คุณสนใจ แทนที่จะเป็นเรคคอร์ดงานเบื้องหลังรายการใดรายการหนึ่ง

กระดานงานแชต (/tasks)

ใช้ /tasks ในเซสชันแชตใดก็ได้เพื่อดูงานเบื้องหลังที่เชื่อมโยงกับเซสชันนั้น กระดานจะแสดงงานที่กำลังทำงานและงานที่เพิ่งเสร็จสิ้น พร้อม runtime, สถานะ, เวลา และความคืบหน้าหรือรายละเอียดข้อผิดพลาด

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

สำหรับบัญชีแยกประเภทของผู้ปฏิบัติการฉบับเต็ม ให้ใช้ CLI: openclaw tasks list

การผสานสถานะ (แรงกดดันของงาน)

openclaw status มีสรุปงานแบบดูได้ทันที:

Code
Tasks: 3 queued · 2 running · 1 issues

สรุปรายงาน:

  • active - จำนวนของ queued + running
  • failures - จำนวนของ failed + timed_out + lost
  • byRuntime - รายละเอียดแยกตาม acp, subagent, cron, cli

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

พื้นที่จัดเก็บและการบำรุงรักษา

งานอยู่ที่ไหน

เรคคอร์ดงานคงอยู่ใน SQLite ที่:

Code
$OPENCLAW_STATE_DIR/tasks/runs.sqlite

รีจิสทรีโหลดเข้าสู่หน่วยความจำเมื่อ Gateway เริ่มทำงานและซิงค์การเขียนไปยัง SQLite เพื่อความทนทานข้ามการรีสตาร์ต Gateway จำกัดขนาด write-ahead log ของ SQLite โดยใช้เกณฑ์ autocheckpoint เริ่มต้นของ SQLite ร่วมกับ checkpoint แบบ TRUNCATE ตามรอบและตอนปิดระบบ

การบำรุงรักษาอัตโนมัติ

sweeper ทำงานทุก 60 วินาที และจัดการสี่เรื่อง:

  • การกระทบยอด

    ตรวจสอบว่างานที่กำลังใช้งานยังมี runtime backing ที่เป็นแหล่งอ้างอิงหรือไม่ งาน ACP/subagent ใช้สถานะเซสชันลูก งาน cron ใช้ความเป็นเจ้าของ active-job และงาน CLI ที่มีข้อมูลระบุตัวตนการรันใช้บริบทการรันที่เป็นเจ้าของ หากสถานะ backing นั้นหายไปนานกว่า 5 นาที งานจะถูกทำเครื่องหมายเป็น lost

  • การซ่อมแซมเซสชัน ACP

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

  • การประทับเวลาล้างข้อมูล

    ตั้งเวลาประทับ cleanupAfter บนงานสิ้นสุด (endedAt + 7 วัน) ระหว่างช่วงเก็บรักษา งานที่สูญหายยังปรากฏในการตรวจสอบเป็นคำเตือน; หลังจาก cleanupAfter หมดอายุหรือเมื่อข้อมูลเมตาการล้างข้อมูลหายไป งานเหล่านั้นจะเป็นข้อผิดพลาด

  • การตัดข้อมูล

    ลบเรคคอร์ดที่เลยวันที่ cleanupAfter

  • งานเกี่ยวข้องกับระบบอื่นอย่างไร

    งานและ Task Flow

    Task Flow คือชั้นจัดลำดับ flow เหนืองานเบื้องหลัง flow เดียวอาจประสานงานหลายงานตลอดอายุการทำงานโดยใช้โหมดซิงค์แบบจัดการหรือแบบสะท้อน ใช้ openclaw tasks เพื่อตรวจสอบเรคคอร์ดงานแต่ละรายการ และ openclaw tasks flow เพื่อตรวจสอบ flow ที่ทำหน้าที่จัดลำดับงาน

    ดูรายละเอียดที่ Task Flow

    งานและ cron

    definition ของงาน cron อยู่ใน ~/.openclaw/cron/jobs.json; สถานะการทำงาน runtime อยู่ข้างกันใน ~/.openclaw/cron/jobs-state.json การทำงาน cron ทุกครั้ง จะสร้างเรคคอร์ดงาน ทั้งแบบ main-session และแบบแยก งาน cron แบบ main-session มีค่าเริ่มต้นของนโยบายแจ้งเตือนเป็น silent เพื่อให้ติดตามได้โดยไม่สร้างการแจ้งเตือน

    ดู Cron Jobs

    งานและ heartbeat

    การรัน Heartbeat เป็น turn ของ main-session และไม่สร้างเรคคอร์ดงาน เมื่องานเสร็จสิ้น งานนั้นสามารถกระตุ้นการปลุก Heartbeat เพื่อให้คุณเห็นผลลัพธ์ได้ทันที

    ดู Heartbeat

    งานและเซสชัน

    งานอาจอ้างอิง childSessionKey (ที่งานทำงานอยู่) และ requesterSessionKey (ผู้เริ่มงาน) เซสชันคือบริบทการสนทนา; งานคือการติดตามกิจกรรมที่อยู่เหนือสิ่งนั้น

    งานและการรันของ agent

    runId ของงานเชื่อมโยงไปยังการรันของ agent ที่กำลังทำงาน เหตุการณ์วงจรชีวิตของ agent (เริ่มต้น สิ้นสุด ข้อผิดพลาด) จะอัปเดตสถานะงานโดยอัตโนมัติ คุณไม่จำเป็นต้องจัดการวงจรชีวิตเอง

    ที่เกี่ยวข้อง

    Was this useful?