qoderwake中waker的任务说明必须为含type字段(值为"command"/"http"/"script")的合法json,且需按规范填写args/url/code等对应字段,显式声明env和timeout,否则注册失败或执行异常。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在QoderWake中创建Waker时,任务说明必须能被调度器准确解析执行逻辑,不能只写自然语言描述,否则任务无法触发或参数传入失败。
任务说明的基本结构
任务说明必须是一个合法的JSON字符串,且顶层必须包含 【"type" 字段】,值为 "command"、"http" 或 "script" 之一。缺失该字段会导致Waker注册直接失败,控制台报错“invalid task type”。
字段顺序不限,但推荐按 type → args → timeout → env 的顺序组织,便于人工排查。
不同任务类型的写法示例
方法一:执行本地命令(type: "command")
填写:{"type":"command","args":["/bin/sh","-c","echo 'hello' > /tmp/qoder.log"]}。注意 args 必须是字符串数组,不能写成单个字符串,否则进程启动失败。
方法二:发起HTTP请求(type: "http")
填写:{"type":"http","url":"https://api.example.com/notify","method":"POST","headers":{"Content-Type":"application/json"},"body":{"event":"wakeup","ts":1717023456}}。body 中的时间戳建议用 {{timestamp}} 占位符,运行时自动替换为毫秒级时间戳。
方法三:运行内联脚本(type: "script")
填写:{"type":"script","language":"python3","code":"import os; print('PID:', os.getpid())"}。language 字段必须明确指定,不支持 "python" 这类模糊写法,否则容器内找不到解释器。
带环境变量和超时控制的任务说明
第一步:确定是否需要隔离环境变量。若任务依赖特定 PATH 或 API_KEY,必须显式声明 env 字段。
第二步:添加 env 字段,格式为键值对对象,例如 "env":{"PATH":"/usr/local/bin:/usr/bin","API_KEY":"sk-xxx"}。未声明的环境变量默认为空,【不会继承宿主机环境】。
第三步:设置 timeout 字段(单位毫秒),如 "timeout":5000。超过时限任务会被强制终止并标记为 failed,不设该字段则使用系统默认 30000 毫秒。
第四步:组合完整 JSON,确保无语法错误。可用在线 JSON 校验器粘贴验证,避免末尾多逗号或引号不匹配。










