程序控制
auto_sync
调用场景在当前任务中,调用场景。
通过传入场景 ID,调用场景。场景可以是时间轴场景,也可以是 Lua 场景。
ret = scene(id, params)
- 参数
id
。场景IDparams
。入参
- 返回
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。可选,默认串行任务