跳转至

.task 文件 Schema

位置:/{软件名}.application/task/{任务名}.task(单文件) | XML 根:task | 与技能对齐:generate-task-file 机制背景见 [[design/table-schema/overview]]。

1. 用途与落盘

定时任务 = 软件级 iScript 定时调度(Quartz,IscriptTaskJob)。**不是**流程待办(TaskInfo)、不是流程节点定时审批 Job。软件须 activated=true 且域已绑定,Job 才真正执行。

storage/workspace/{软件名}.application/task/{任务名}.task

id 同时作为 Quartz jobName/triggerName。脚本环境**无 Document / 无 WebUser 业务会话**(空 Document + params)。

2. 属性表

属性 XML 形态 类型 默认 说明
id 根属性 string 须生成 __ + 短 UUID;= Quartz jobName
name 子元素 string — 必填;文件名;应用内唯一
parentId 子元素 string — = 软件 id
type 子元素 int 1 仅脚本:TASK_TYPE_SCRIPT=1
startupType 子元素 int 0 手动(按 cron 挂,不立即)/ 1 自动(startNow)/ 2 禁止(deleteJob)
period 子元素 int — 重复类型(§3)
runningTime 子元素 dateTime 调度锚点;由 rDate+rTime 或当前时刻合成
rTime 子元素 string HH:mm:ss;日/周/月/不重复必填
rDate 子元素 string yyyy-MM-dd;仅不重复(period=0)用
interval 子元素 int 1 period=34 每分/546 每时的间隔数
daysOfWeek 重复元素 int period=32 每周;Calendar 序:1=周日…7=周六;可多个
dayOfMonth 子元素 int 1 period=512 每月第几天(1–31)
taskScript CDATA string — 任务正文 iScript
terminateScript CDATA string 可空 每次触发前跑;返回 Boolean true → 删 Job 并跳过
state 子元素 int 0 运行态标记(start API→1);主开关是 startupType
runtimes/totalRuntimes/executedCount/repeatTimes/frequency 子元素 int 0 历史计数;现行 Job 不回写
creator/creatorid/modifyTime 子元素 元信息

3. period(十六进制常量,十进制写入 XML)

十进制 常量 UI 文案 必填时间字段
0 NOTREAPET 不重复(一次性) rDate + rTime
8192 IMMEDIATE 立刻(无 cron,触发后删) runningTime≈now
34 DAILY_MINUTES 每分 interval(分钟)
546 DAILY_HOURS 每时 interval(小时)
2 DAILY 每日 rTime
32 WEEKLY 每周 rTime + daysOfWeek
512 MONTHLY 每月 rTime + dayOfMonth

runningTime 合成:period 2/32/512 → rTime 套今天;period 0 → rDate+rTime;34/546/8192 → 当前时刻。

4. XML 骨架(每周一 09:00)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<task id="__taskWeekly00000001">
  <name>周报提醒</name>
  <parentId>软件id</parentId>
  <type>1</type>
  <startupType>1</startupType>
  <period>32</period>
  <runningTime>2026-08-15T09:00:00.000+08:00</runningTime>
  <rTime>09:00:00</rTime>
  <rDate></rDate>
  <dayOfMonth>1</dayOfMonth>
  <interval>1</interval>
  <state>0</state>
  <runtimes>0</runtimes>
  <daysOfWeek>2</daysOfWeek>
  <taskScript><![CDATA[(function(){
    // 定时逻辑(无 doc/user 上下文;可用 getApplication()、queryByDSName 等)
  })()]]></taskScript>
  <terminateScript><![CDATA[(function(){ return false; })()]]></terminateScript>
</task>

5. 相关

资源 文档
所属软件 [[application-file]]
脚本环境与写法 agent-skills-usage/skills/iscript-usage/task.md
生成操作指南 agent-skills-usage/skills/generate-task-file/SKILL.md(含全 period cron 表、触发链)