Automation
وظایف پسزمینه
وظایف پسزمینه، کارهایی را پیگیری میکنند که خارج از نشست اصلی مکالمه شما اجرا میشوند: اجراهای ACP، ایجاد زیرعاملها، اجرای کارهای Cron و عملیات آغازشده از CLI.
وظایف جایگزین نشستها، کارهای Cron یا Heartbeatها نمیشوند؛ آنها دفتر ثبت فعالیتها هستند که ثبت میکند چه کار جداشدهای، چه زمانی انجام شده و آیا موفق بوده است یا نه.
خلاصه
- وظایف رکورد هستند، نه زمانبند؛ Cron و Heartbeat تعیین میکنند کار چه زمانی اجرا شود و وظایف پیگیری میکنند چه اتفاقی افتاده است.
- ACP، زیرعاملها، همه کارهای Cron و عملیات CLI وظیفه ایجاد میکنند. نوبتهای Heartbeat چنین کاری نمیکنند.
- هر وظیفه از وضعیتهای
queued → running → terminalعبور میکند (موفق، ناموفق، پایانیافته بهدلیل مهلت، لغوشده یا ازدسترفته). - تا زمانی که زمان اجرای Cron همچنان مالک کار باشد، وظایف Cron فعال میمانند؛ اگر وضعیت درونحافظهای زمان اجرا از بین رفته باشد، نگهداری وظایف پیش از علامتگذاری یک وظیفه بهعنوان ازدسترفته، ابتدا تاریخچه پایدار اجرای Cron را بررسی میکند.
- تکمیل بهصورت مبتنی بر ارسال انجام میشود: کار جداشده پس از پایان میتواند مستقیماً اطلاعرسانی کند یا نشست درخواستکننده/Heartbeat را بیدار کند؛ بنابراین حلقههای نظرسنجی وضعیت معمولاً الگوی مناسبی نیستند.
- اجراهای ایزوله Cron و تکمیل زیرعاملها، پیش از ثبت نهایی پاکسازی، در حد توان زبانهها/فرایندهای مرورگر پیگیریشده برای نشست فرزند خود را پاکسازی میکنند.
- تا زمانی که کار زیرعاملهای نواده همچنان در حال تخلیه است، تحویل ایزوله Cron پاسخهای میانی قدیمی والد را سرکوب میکند و اگر خروجی نهایی نواده پیش از تحویل برسد، آن را ترجیح میدهد.
- اعلانهای تکمیل مستقیماً به یک کانال تحویل داده میشوند یا برای Heartbeat بعدی در صف قرار میگیرند.
openclaw tasks listهمه وظایف را نشان میدهد؛openclaw tasks auditمشکلات را نمایان میکند.- رکوردهای پایانی بهمدت 7 روز (رکوردهای
lostبهمدت 24 ساعت) نگهداری و سپس بهطور خودکار حذف میشوند.
شروع سریع
فهرست و فیلتر
# فهرست همه وظایف (ابتدا جدیدترینها)openclaw tasks list # فیلتر بر اساس زمان اجرا یا وضعیتopenclaw tasks list --runtime acpopenclaw tasks list --status runningبررسی
# نمایش جزئیات یک وظیفه مشخص (بر اساس شناسه وظیفه، شناسه اجرا یا کلید نشست)openclaw tasks show <lookup>لغو و اطلاعرسانی
# لغو یک وظیفه در حال اجرا (نشست فرزند را متوقف میکند)openclaw tasks cancel <lookup> # تغییر سیاست اطلاعرسانی یک وظیفهopenclaw tasks notify <lookup> state_changesممیزی و نگهداری
# اجرای ممیزی سلامتopenclaw tasks audit # پیشنمایش یا اعمال نگهداریopenclaw tasks maintenanceopenclaw tasks maintenance --applyجریان وظیفه
# بررسی وضعیت 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 |
اجراهای مبتنی بر نشست image_generate/music_generate/video_generate |
silent |
پیشفرضهای اطلاعرسانی برای Cron و رسانه
وظایف Cron (نشست اصلی و ایزوله) از سیاست اطلاعرسانی silent استفاده میکنند؛ آنها برای پیگیری رکورد ایجاد میکنند، اما خودشان اعلان وظیفه تولید نمیکنند؛ Cron مالک مسیر تحویل خود است.
اجراهای مبتنی بر نشست image_generate، music_generate و video_generate نیز از سیاست اطلاعرسانی silent استفاده میکنند. آنها همچنان رکورد وظیفه ایجاد میکنند، اما تکمیل بهشکل یک بیدارباش داخلی به نشست عامل اصلی بازگردانده میشود تا عامل بتواند پیام پیگیری را بنویسد و رسانه تکمیلشده را خودش پیوست کند. عامل درخواستکننده از قرارداد عادی پاسخ قابلمشاهده خود پیروی میکند: پاسخ نهایی خودکار در صورت پیکربندی، یا message(action="send") بههمراه NO_REPLY هنگامی که نشست به پاسخهای ابزار پیام نیاز دارد. اگر نشست درخواستکننده دیگر فعال نباشد یا بیدارباش فعال آن ناموفق شود و عامل تکمیل بخشی یا همه رسانههای تولیدشده را از دست بدهد، OpenClaw یک جایگزین مستقیم و تکرارناپذیر را که فقط شامل رسانههای ازدسترفته است، به مقصد کانال اصلی ارسال میکند.
محافظ اجرای همزمان تولید رسانه
تا زمانی که یک وظیفه تولید رسانه مبتنی بر نشست فعال است، image_generate، music_generate و video_generate از تلاش مجدد تصادفی جلوگیری میکنند: تکرار فراخوانی برای همان اعلان/درخواست، بهجای آغاز یک نسخه تکراری، وضعیت وظیفه فعال منطبق را برمیگرداند؛ درحالیکه یک اعلان متمایز میتواند وظیفه خودش را آغاز کند. هنگامی که از سمت عامل به جستوجوی صریح پیشرفت/وضعیت نیاز دارید، از action: "status" استفاده کنید.
چه چیزهایی وظیفه ایجاد نمیکنند
- نوبتهای Heartbeat ـ نشست اصلی؛ Heartbeat را ببینید
- نوبتهای گفتوگوی تعاملی عادی
- پاسخهای مستقیم
/command
چرخه عمر وظیفه
stateDiagram-v2
[*] --> queued
queued --> running : عامل آغاز میشود
running --> succeeded : با موفقیت تکمیل میشود
running --> failed : خطا
running --> timed_out : مهلت پایان یافت
queued --> cancelled : اپراتور لغو میکند
running --> cancelled : اپراتور لغو میکند
queued --> lost : وضعیت پشتیبان بیش از 5 دقیقه از بین رفته است
running --> lost : وضعیت پشتیبان بیش از 5 دقیقه از بین رفته است| وضعیت | معنی آن |
|---|---|
queued |
ایجاد شده و منتظر آغاز عامل است |
running |
نوبت عامل فعالانه در حال اجرا است |
succeeded |
با موفقیت تکمیل شده است |
failed |
با خطا تکمیل شده است |
timed_out |
از مهلت پیکربندیشده فراتر رفته است |
cancelled |
اپراتور آن را از طریق openclaw tasks cancel متوقف کرده یا اجرا خاتمه داده شده است |
lost |
زمان اجرا پس از یک دوره ارفاق 5 دقیقهای، وضعیت پشتیبان معتبر را از دست داده است |
انتقالها بهطور خودکار انجام میشوند؛ رویدادهای چرخه عمر اجرای عامل (آغاز، پایان، خطا) وضعیت وظیفه را بهروزرسانی میکنند و نیازی نیست آن را بهصورت دستی مدیریت کنید.
تکمیل اجرای عامل برای رکوردهای وظیفه فعال مرجع نهایی است. اجرای جداشده موفق با وضعیت succeeded نهایی میشود، خطاهای عادی اجرا با failed، پایان مهلتها با timed_out و نتایج لغو/خاتمه با cancelled نهایی میشوند. هنگامی که یک وظیفه پایانی شود، سیگنالهای بعدی چرخه عمر وضعیت آن را تنزل نمیدهند؛ وظیفهای که اپراتور لغو کرده یا از قبل failed/timed_out/lost است، حتی اگر پس از آن سیگنال موفقیت برسد، در همان وضعیت باقی میماند.
lost از زمان اجرا آگاه است:
- وظایف ACP: فقط یک نوبت ACP زنده و درونفرایندی در Gateway ثابت میکند که اجرا زنده است؛ فراداده پایدار نشست بهتنهایی کافی نیست. ممیزی آفلاین CLI محافظهکارانه عمل میکند و هرگز وظایف ACP را بازپسگیری نمیکند.
- وظایف زیرعامل: نشست فرزند پشتیبان از مخزن عامل مقصد ناپدید شده است (یا سنگقبر بازیابی پس از راهاندازی مجدد دارد).
- وظایف Cron: زمان اجرای Cron دیگر کار را بهعنوان فعال پیگیری نمیکند و تاریخچه پایدار اجرای Cron هیچ نتیجه پایانی برای آن اجرا نشان نمیدهد. ممیزی آفلاین CLI وضعیت خالی زمان اجرای Cron درونفرایندی خودش را مرجع معتبر در نظر نمیگیرد.
- وظایف CLI: وظایفی که شناسه اجرا/شناسه منبع دارند از زمینه اجرای زنده استفاده میکنند؛ بنابراین پس از ناپدیدشدن اجرای تحت مالکیت Gateway، باقیماندن ردیفهای نشست فرزند یا نشست گفتوگو آنها را زنده نگه نمیدارد. وظایف قدیمی CLI بدون هویت اجرا همچنان از نشست فرزند بهعنوان جایگزین استفاده میکنند. اجراهای مبتنی بر Gatewayِ
openclaw agentنیز از نتیجه اجرای خود نهایی میشوند؛ بنابراین اجراهای تکمیلشده تا زمانی که پاکساز آنها راlostعلامتگذاری کند، فعال باقی نمیمانند.
تحویل و اعلانها
هنگامی که یک وظیفه به وضعیت پایانی میرسد، OpenClaw به شما اطلاع میدهد. دو مسیر تحویل وجود دارد:
تحویل مستقیم ـ اگر وظیفه مقصد کانال داشته باشد (requesterOrigin)، پیام تکمیل مستقیماً به همان کانال میرود (Discord، Slack، Telegram و غیره). در عوض، تکمیل وظایف گروه و کانال از طریق نشست درخواستکننده مسیریابی میشود تا عامل والد بتواند پاسخ قابلمشاهده را بنویسد. برای تکمیل زیرعاملها، OpenClaw همچنین مسیریابی وابسته رشته/موضوع را در صورت وجود حفظ میکند و پیش از صرفنظرکردن از تحویل مستقیم، میتواند to / حساب ازدسترفته را از مسیر ذخیرهشده نشست درخواستکننده (lastChannel / lastTo / lastAccountId) تکمیل کند.
تحویل در صف نشست ـ اگر تحویل مستقیم ناموفق باشد یا هیچ مبدأیی تنظیم نشده باشد، بهروزرسانی بهعنوان یک رویداد سیستمی در نشست درخواستکننده در صف قرار میگیرد و در Heartbeat بعدی نمایش داده میشود.
یعنی گردش کار معمول مبتنی بر ارسال است: کار جداشده را یکبار آغاز کنید، سپس اجازه دهید زمان اجرا پس از تکمیل شما را بیدار کند یا اطلاع دهد. فقط هنگامی وضعیت وظیفه را نظرسنجی کنید که به اشکالزدایی، مداخله یا ممیزی صریح نیاز دارید.
سیاستهای اطلاعرسانی
میزان اطلاعرسانی درباره هر وظیفه را کنترل کنید:
| سیاست | آنچه تحویل داده میشود |
|---|---|
done_only (پیشفرض) |
فقط وضعیت پایانی (موفق، ناموفق و غیره) |
state_changes |
هر انتقال وضعیت و بهروزرسانی پیشرفت |
silent |
هیچچیز (پیشفرض برای وظایف Cron، CLI و رسانه) |
سیاست را هنگام اجرای یک وظیفه تغییر دهید:
openclaw tasks notify <lookup> state_changesمرجع CLI
tasks list
openclaw tasks list [--runtime <acp|subagent|cron|cli>] [--status <status>] [--json]ستونهای خروجی: وظیفه، نوع، وضعیت، تحویل، اجرا، نشست فرزند، خلاصه. openclaw tasks بدون آرگومان مانند openclaw tasks list عمل میکند.
tasks show
openclaw tasks show <lookup> [--json]نشانه جستوجو یک شناسه وظیفه، شناسه اجرا یا کلید نشست را میپذیرد. رکورد کامل شامل زمانبندی، وضعیت تحویل، خطا و خلاصه پایانی را نمایش میدهد.
tasks cancel
openclaw tasks cancel <lookup>برای وظایف ACP و زیرعامل، این کار نشست فرزند را خاتمه میدهد؛ لغوهای ACP و Cron از طریق Gateway در حال اجرا هدایت میشوند (tasks.cancel). برای وظایف رهگیریشده توسط CLI، لغو در رجیستری وظایف ثبت میشود (هیچ هندل زماناجرای فرزند جداگانهای وجود ندارد). وضعیت به cancelled تغییر میکند و در صورت کاربرد، اعلان تحویل ارسال میشود.
اعلان وظایف
openclaw tasks notify <lookup> <done_only|state_changes|silent>ممیزی وظایف
openclaw tasks audit [--severity <warn|error>] [--code <name>] [--limit <n>] [--json]مشکلات عملیاتی وظایف و TaskFlowها را در یک گزارش نمایش میدهد. هنگام شناسایی مشکلات، یافتهها در openclaw status نیز ظاهر میشوند.
یافتههای وظایف:
| یافته | شدت | محرک |
|---|---|---|
stale_queued |
هشدار | بیش از 10 دقیقه در صف مانده است |
stale_running |
خطا | بیش از 30 دقیقه در حال اجرا بوده است |
lost |
هشدار/خطا | مالکیت وظیفه متکی به زماناجرا ناپدید شده است؛ وظایف مفقودِ نگهداریشده تا cleanupAfter هشدار میدهند و سپس به خطا تبدیل میشوند |
delivery_failed |
هشدار | تحویل ناموفق بوده و سیاست اعلان silent نیست |
missing_cleanup |
هشدار | وظیفه پایانی بدون مهر زمانی پاکسازی |
inconsistent_timestamps |
هشدار | نقض خط زمانی (برای مثال، پیش از شروع پایان یافته است) |
یافتههای TaskFlow:
| یافته | شدت | محرک |
|---|---|---|
restore_failed |
خطا | بازیابی رجیستری جریان از SQLite ناموفق بود |
stale_running |
خطا | جریان در حال اجرا بیش از 30 دقیقه پیشرفتی نداشته است |
stale_waiting |
هشدار | جریان منتظر بیش از 30 دقیقه پیشرفتی نداشته است |
stale_blocked |
هشدار | جریان مسدودشده بیش از 30 دقیقه پیشرفتی نداشته است |
cancel_stuck |
هشدار | لغو بیش از 5 دقیقه پیش درخواست شده، هیچ وظیفه فرزند فعالی وجود ندارد و جریان همچنان ناپایانی است |
missing_linked_tasks |
هشدار/خطا | جریان مدیریتشده قدیمی بدون وظیفه پیوندخورده یا حالت انتظار |
blocked_task_missing |
هشدار | جریان مسدودشده به شناسه وظیفهای اشاره میکند که دیگر وجود ندارد |
نگهداری وظایف
openclaw tasks maintenance [--json]openclaw tasks maintenance --apply [--json]از این فرمان برای پیشنمایش یا اعمال تطبیق، ثبت مهر پاکسازی و هرسکردن وظایف، وضعیت TaskFlow و ردیفهای قدیمی رجیستری نشست اجرای Cron استفاده کنید.
تطبیق از زماناجرا آگاه است:
- وظایف ACP به یک نوبت زنده درونفرایندی در Gateway نیاز دارند؛ وظایف زیرعامل نشست فرزند پشتیبان خود را بررسی میکنند.
- وظایف زیرعاملی که نشست فرزندشان سنگقبر بازیابی پس از راهاندازی مجدد دارد، بهجای تلقیشدن بهعنوان نشستهای پشتیبان قابلبازیابی، مفقود علامتگذاری میشوند.
- وظایف Cron بررسی میکنند که آیا زماناجرای Cron هنوز مالک کار است، سپس پیش از بازگشت به
lost، وضعیت پایانی را از گزارشهای پایدار اجرای Cron یا وضعیت کار بازیابی میکنند. فقط فرایند Gateway برای مجموعه درونحافظهای کارهای فعال Cron مرجع معتبر است؛ ممیزی آفلاین CLI از تاریخچه پایدار استفاده میکند، اما صرفاً بهدلیل خالیبودن آن مجموعه محلی، یک وظیفه Cron را مفقود علامتگذاری نمیکند. - وظایف CLI دارای هویت اجرا، زمینه اجرای زنده مالک را بررسی میکنند، نه فقط ردیفهای نشست فرزند یا نشست گفتوگو را.
پاکسازی تکمیل نیز از زماناجرا آگاه است:
- تکمیل زیرعامل، پیش از ادامه پاکسازی اعلان، بهصورت بهترینتلاش زبانهها و فرایندهای مرورگر رهگیریشده برای نشست فرزند را میبندد.
- تکمیل Cron ایزوله، پیش از برچیدهشدن کامل اجرا، بهصورت بهترینتلاش زبانهها و فرایندهای مرورگر رهگیریشده برای نشست Cron را میبندد.
- تحویل Cron ایزوله، در صورت نیاز منتظر پایان پیگیری زیرعاملهای نواده میماند و بهجای اعلام متن تأیید قدیمی والد، آن را سرکوب میکند.
- تحویل تکمیل زیرعامل فقط از آخرین متن قابلمشاهده دستیار در فرزند استفاده میکند. خروجی tool/toolResult به متن نتیجه فرزند ارتقا نمییابد. اجراهای پایانی ناموفق، وضعیت شکست را بدون بازپخش متن پاسخ ضبطشده اعلام میکنند.
- شکستهای پاکسازی نتیجه واقعی وظیفه را پنهان نمیکنند.
هنگام اعمال نگهداری، OpenClaw همچنین ردیفهای قدیمی رجیستری نشست cron:<jobId>:run:<runId> با عمر بیش از 7 روز را حذف میکند، در حالی که ردیفهای مربوط به کارهای Cron در حال اجرا را حفظ میکند و ردیفهای نشست غیرCron را دستنخورده باقی میگذارد.
فهرست | نمایش | لغو جریان وظایف
openclaw tasks flow list [--status <status>] [--json]openclaw tasks flow show <lookup> [--json]openclaw tasks flow cancel <lookup>توکن جستوجوی جریان یک شناسه جریان یا کلید مالک را میپذیرد. هنگامی از این فرمانها استفاده کنید که Task Flow هماهنگکننده برایتان مهم است، نه یک رکورد منفرد وظیفه پسزمینه.
تابلوی وظایف گفتوگو (/tasks)
در هر نشست گفتوگو از /tasks استفاده کنید تا وظایف پسزمینه پیوندخورده به آن نشست را ببینید. تابلو حداکثر پنج وظیفه فعال و بهتازگی تکمیلشده را همراه با زماناجرا، وضعیت، زمانبندی و جزئیات پیشرفت یا خطا نمایش میدهد.
وقتی نشست فعلی هیچ وظیفه پیوندخورده قابلمشاهدهای ندارد، /tasks به تعداد وظایف محلی عامل برمیگردد تا بدون افشای جزئیات نشستهای دیگر، همچنان یک نمای کلی ارائه شود.
برای دفترکل کامل اپراتور، از CLI استفاده کنید: openclaw tasks list.
رابط کاربری کنترل
رابط کاربری کنترل وب، صفحه وظایف را در نوار کناری دارد که وظایف پسزمینه فعال و اخیر را بهصورت زنده نشان میدهد. از آن برای بررسی پیشرفت، بازکردن نشستهای پیوندخورده، تازهسازی دفترکل یا لغو وظایف در صف و در حال اجرا استفاده کنید.
پنجرههای گفتوگو همچنین یک نوار جمعشونده وظایف پسزمینه با دامنه عامل همان پنجره دارند: وظایف و زیرعاملهای در حال اجرا همراه با کنترل توقف، یک بخش پایانیافتهها و پیوندهای مشاهده رونوشت به نشست فرزند هر وظیفه. آن را از کلید فعالیت در سربرگ پنجره (یا دکمه شناور فعالیت در گفتوگوی تکپنجرهای) باز کنید.
برای بررسی اعلان ورودی محدودشده و آخرین خروجی یا خلاصه خطا، یک وظیفه را در نوار انتخاب کنید. کارهای در حال اجرا از کارهای پایانیافته جدا میمانند و ردیفهای پایانیافته نشان میدهند که وظیفه تکمیل شده یا شکست خورده است. در iOS، Chat actions → Background Tasks را باز کنید؛ در Android، منوی سرریز Chat را باز کرده و Background tasks را انتخاب کنید. هر دو نمای موبایل از گروهبندی یکسان Running و Finished استفاده میکنند و با انتخاب، جزئیات وظیفه را باز میکنند.
یکپارچهسازی وضعیت (فشار وظایف)
openclaw status یک خط خلاصه وظایف را شامل میشود:
وظایف 2 فعال · 1 در صف · 1 در حال اجرا · 1 مشکل · ممیزی پاک · 6 رهگیریشدهخلاصه، کار فعال (queued + running)، شکستها (failed + timed_out + lost)، یافتههای ممیزی و کل رکوردهای رهگیریشده را میشمارد؛ بار JSON نیز شمارشها را بر اساس زماناجرا تفکیک میکند (acp، subagent، cron، cli).
هم /status و هم ابزار session_status از تصویری از وظایف استفاده میکنند که از پاکسازی آگاه است: وظایف فعال در اولویتاند، ردیفهای منقضی پنهان میشوند و وظایف پایانی فقط برای یک بازه کوتاه اخیر (5 دقیقه) ظاهر میشوند؛ وقتی هیچ کار فعالی باقی نمانده باشد، تمرکز بر شکستهاست. این کار کارت وضعیت را بر آنچه همین حالا اهمیت دارد متمرکز نگه میدارد.
ذخیرهسازی و نگهداری
محل نگهداری وظایف
رکوردهای وظایف و وضعیت تحویل در پایگاه داده مشترک وضعیت SQLite متعلق به OpenClaw پایدار میمانند:
~/.openclaw/state/openclaw.sqlite (جداول: task_runs, task_delivery_state, flow_runs)برای انتقال کل ریشه وضعیت (پیشفرض ~/.openclaw) به مکانی دیگر، OPENCLAW_STATE_DIR را تنظیم کنید؛ مسیر پایگاه داده مشترک نیز همراه آن منتقل میشود.
رجیستری در نخستین استفاده در حافظه بارگذاری میشود و هر نوشتن را دوباره در SQLite پایدار میکند، بنابراین رکوردها پس از راهاندازی مجدد Gateway باقی میمانند. رشد WAL از طریق آستانه پیشفرض وارسی خودکار SQLite و نقاط وارسی دورهای PASSIVE محدود میماند؛ نقاط وارسی هنگام خاموششدن و نگهداری صریح از TRUNCATE استفاده میکنند تا بستهشدنهای عادی فضای WAL را بدون منتظرگذاشتن جاروبگر پسزمینه برای خوانندگان فعال بازیابی کنند.
ذخیرهگاههای جانبی قدیمی از نصبهای پیشین (tasks/runs.sqlite، flows/registry.sqlite) توسط openclaw doctor به پایگاه داده مشترک وارد میشوند.
نگهداری خودکار
یک جاروبگر هر 60 ثانیه اجرا میشود (نخستین گذر حدود 5 ثانیه پس از شروع Gateway) و چهار مورد را مدیریت میکند:
تطبیق
بررسی میکند که آیا وظایف فعال هنوز پشتیبانی معتبر زماناجرا دارند یا نه. وظایف ACP به یک نوبت زنده درونفرایندی نیاز دارند، وظایف زیرعامل از وضعیت نشست فرزند استفاده میکنند، وظایف Cron از مالکیت کار فعال بههمراه تاریخچه پایدار اجرا استفاده میکنند و وظایف CLI دارای هویت اجرا از زمینه اجرای مالک استفاده میکنند. اگر وضعیت پشتیبان بیش از 5 دقیقه (برای وظایف بومی زیرعامل بدون فرزند، 30 دقیقه) از بین رفته باشد، وظیفه lost علامتگذاری میشود.
ترمیم نشست ACP
نشستهای یکباره ACP متعلق به والد را که پایانی یا بیسرپرست هستند میبندد، و نشستهای پایدار ACP قدیمیِ پایانی یا بیسرپرست را فقط زمانی میبندد که هیچ پیوند گفتوگوی فعالی باقی نمانده باشد.
ثبت مهر پاکسازی
یک مهر زمانی cleanupAfter را روی وظایف پایانی تنظیم میکند (زمان پایان + بازه نگهداری). در طول نگهداری، وظایف مفقود همچنان در ممیزی بهعنوان هشدار ظاهر میشوند؛ پس از انقضای cleanupAfter یا هنگامی که فراداده پاکسازی وجود ندارد، به خطا تبدیل میشوند.
هرسکردن
رکوردهای پس از تاریخ cleanupAfter خود را حذف میکند.
ارتباط وظایف با سامانههای دیگر
وظایف و Task Flow
Task Flow لایه هماهنگسازی جریان در بالای وظایف پسزمینه است. یک جریان منفرد ممکن است در طول عمر خود با استفاده از حالتهای همگامسازی مدیریتشده یا آینهای، چندین وظیفه را هماهنگ کند. برای بررسی رکوردهای منفرد وظیفه از openclaw tasks و برای بررسی جریان هماهنگکننده از openclaw tasks flow استفاده کنید.
وظایف و Cron
تعریفهای کار Cron، وضعیت اجرای زماناجرا و تاریخچه اجرا در پایگاه داده مشترک وضعیت SQLite متعلق به OpenClaw قرار دارند. هر اجرای Cron، چه نشست اصلی و چه ایزوله، یک رکورد وظیفه با سیاست اعلان silent ایجاد میکند؛ بنابراین اجراهای Cron بدون ایجاد اعلان وظیفه مستقل رهگیری میشوند.
کارهای Cron را ببینید.
وظایف و Heartbeat
اجراهای Heartbeat نوبتهای نشست اصلی هستند و رکورد وظیفه ایجاد نمیکنند. هنگامی که یک وظیفه تکمیل میشود، میتواند بیدارباش Heartbeat را فعال کند تا نتیجه را سریع ببینید.
Heartbeat را ببینید.
وظایف و نشستها
یک وظیفه ممکن است به یک childSessionKey (محل اجرای کار) و یک requesterSessionKey (فردی که آن را آغاز کرده است) ارجاع دهد. agentId آن، عامل اجراکنندهٔ کار را مشخص میکند، درحالیکه فیلدهای درخواستکننده و مالک، زمینهٔ راهاندازی و کنترل را حفظ میکنند. نشستها زمینهٔ مکالمه هستند؛ وظایف، لایهای برای پیگیری فعالیت بر روی آن هستند.
وظایف و اجراهای عامل
runId یک وظیفه به اجرای عاملی که کار را انجام میدهد پیوند دارد. رویدادهای چرخهٔ عمر عامل (شروع، پایان، خطا) بهطور خودکار وضعیت وظیفه را بهروزرسانی میکنند؛ نیازی نیست چرخهٔ عمر را بهصورت دستی مدیریت کنید.
مرتبط
- خودکارسازی - همهٔ سازوکارهای خودکارسازی در یک نگاه
- CLI: وظایف - مرجع فرمانهای CLI
- Heartbeat - نوبتهای دورهای نشست اصلی
- وظایف زمانبندیشده - زمانبندی کارهای پسزمینه
- جریان وظیفه - هماهنگسازی جریان در سطحی بالاتر از وظایف