异步任务执行器

17秒前更新 1 00

防超时后台任务工具

收录时间:
2026-02-26
异步任务执行器异步任务执行器
异步任务执行器

技能简介

async-task 是一个命令行工具,用于执行可能超过 HTTP 超时限制的长耗时任务。它通过即时返回确认、后台执行实际命令、完成后主动推送结果的三段式流程,避免服务器因等待响应而断开连接。

业务背景

破解HTTP超时导致的任务中断难题。当需要分析GB级日志文件、批量处理数据或调用响应不稳定的外部服务时,传统同步请求会因等待过久而失败。该工具将耗时操作移至后台独立执行,即时反馈任务已启动,完成后主动推送结果,保障长任务可靠运行且不阻塞前端交互。

落地案例:数据分析团队需对千万行用户行为日志进行聚合计算,预计耗时8分钟。使用async-task启动任务后立即收到确认回执,后台进程持续运算;期间分析师可继续其他工作。计算完成后,系统自动将统计报表推送至原会话窗口。若执行中途异常终止,也会触发fail通知便于及时排查,避免任务

能做什么

  • 运行超过 5 秒的命令而不触发超时错误
  • 分析大型文件或代码库
  • 执行多步骤操作并分阶段反馈进度
  • 调用延迟不可控的外部 API
  • 自动检测 OpenClaw/Clawdbot 活跃会话并推送结果

使用说明

安装

# 方式一:克隆并全局链接
git clone https://github.com/Enderfga/openclaw-async-task.git
cd openclaw-async-task
npm link

# 方式二:直接复制到 PATH
chmod +x async-task.js
cp async-task.js /usr/local/bin/async-task

使用流程(必须严格遵循)

  1. 启动任务:async-task start "任务描述" — 立即返回,不阻塞
  2. 执行实际命令:运行任意需要时间的操作
  3. 推送结果:async-task done "执行结果" — 将结果推送到用户会话

其他命令

  • async-task fail "错误信息" — 标记任务失败并推送错误
  • async-task push "消息" — 无需启动直接推送消息
  • async-task status — 查看当前任务状态

环境变量配置(可选)

  • OPENCLAW_SESSION — 指定目标会话(通常自动检测)
  • ASYNC_TASK_PUSH_URL — 自定义 HTTP 推送端点
  • ASYNC_TASK_AUTH_TOKEN — 自定义端点的认证令牌

输入与输出

见下方输入与输出表格。

项目内容
输入任务描述文本;待执行的 shell 命令序列;完成时的结果字符串或错误信息;可选的环境变量配置(会话 ID、推送端点、认证令牌)
输出start 命令返回即时确认;done/fail/push 命令将会话消息推送至用户;status 命令返回当前任务状态
适用人群使用 OpenClaw/Clawdbot 平台的开发者;需要执行编译、扫描、数据分析等长耗时操作的技术人员
不包含内置的任务调度队列;跨会话的结果持久化;图形化进度展示;非 CLI 环境的集成方案

 

风险提示

  • 每个 start 必须与 donefail 配对使用,禁止只启动不结束
  • 禁止承诺”稍后推送”后遗忘,会导致会话状态异常
  • 依赖 Node.js 16+ 及 OpenClaw/Clawdbot CLI,环境缺失时无法工作
  • 自定义推送端点需自行保障网络可达性与认证安全

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/enderfga/async-task/SKILL.md
来源类型:GitHub 仓库

数据统计

相关导航

暂无评论

none
暂无评论...