程序控制

调用场景 auto_sync

在当前任务中,调用场景。

通过传入场景 ID,调用场景。场景可以是时间轴场景,也可以是 Lua 场景。

ret = scene(id, params)
  • 参数
    • id。场景ID
    • params。入参
  • 返回
    • ret。 场景的返回值
示例程序

场景 10001:

local params = ...
print("params: ", params)

-- 设置全局变量
var_test = {
    name = "小吴",
    age = 16
}
return 4, 5, 6

场景 10002:

print(scene(10001, {1, 2, 3})) -- 打印场景返回值
print(var_test) -- 打印全局变量

启动任务

task_id = start_task(scene, params, dir, is_parallel, loop_to)

启动新任务

scene不同的是,start_task会创建一个新线程执行任务。

在串行任务中,务必将is_parallel设为true,否则将阻塞住。

  • 参数
    • scene 场景名称
    • params 传递参数。字符串数组。可选,默认空
    • dir 工作空间名称。可选,默认根目录
    • is_parallel 是否并列执行。可选,默认串行。
    • loop_to 重复执行次数。可选,默认 1 次,0 代表无限次
  • 返回
    • task_id 任务 ID

获取全部任务ID

tasks = get_task_list()
  • 返回
    • tasks 全部任务的ID

获取当前任务ID

task_id = get_task_id()
  • 返回
    • task_id 当前任务ID

等待任务完成

注意:不要等待自己,等待自己将永远不会完成

stdout = wait_task(task_id)
  • 参数
    • task_id start_task 返回的 task_id。可选,默认串行任务
  • 返回
    • stdout 任务的所有print输出

获取任务状态

state = get_task_state(task_id)
  • 参数
    • task_id 任务 ID。可选,默认串行任务
  • 返回
    • state 任务状态:"WAIT"排队中;"RUNNING"运行中;"PAUSE"暂停中;"SUCCESS"运行成功;"INTERRUPTING"停止中;"INTERRUPT"已停止;"FAIL"运行失败

停止任务

cancel_task(task_id)

停止指定任务。当停止串行任务时,会自动停止运动

  • 参数
    • task_id 任务 ID。可选,默认串行任务

暂停任务

暂停指定任务。当暂停串行任务时,会自动暂停运动

pause_task(task_id)
  • 参数
    • task_id 任务 ID。可选,默认串行任务

恢复任务

恢复指定任务。当恢复串行任务时,会自动恢复运动

resume_task(task_id)
  • 参数
    • task_id 任务 ID。可选,默认串行任务
上次更新: