概述
需要向磁盘回写的算法语句(即在algo()
命令中使用write()
参数)以后台任务(Task)的方式执行。后台任务的运行结果会在计算结束后保存在当前图集中,用户可随时查看任务结果,直至该任务被清除。
后台任务的不同状态,以及每种状态支持的操作:
状态 | 代码 | show() 命令 |
stop() 命令 |
clear() 命令 |
---|---|---|---|---|
排队中(尚未执行) | pending | √ | √ | |
计算中 | computing | √ | √ | |
写入中 | writing | √ | ||
已终止 | stopped | √ | √ | |
已失败 | failed | √ | √ | |
已完成 | done | √ | √ |
关于算法命令
algo()
中write()
参数的使用,请参考运行算法。
查看后台任务
返回的表名:_task
返回的表头:id
| name
| params
| start
| egnineTime
| totalTime
| result
| status
(任务ID、算法名称、算法参数、开始时间、引擎耗时-秒、总耗时-秒、结果、状态)
// 查看当前图集所有后台任务
show().task()
// 查看当前图集指定的后台任务
show().task(<task_id>)
// 查看当前图集指定算法的所有后台任务
show().task("<algo_name>", "*")
// 查看当前图集处于指定状态的所有后台任务
show().task("*", "<status>")
// 查看当前图集指定算法处于指定状态的后台任务
show().task("<algo_name>", "<status>")
本例查看全图K邻算法的所有后台任务:
show().task("khop_all", "*")
本例查看计算中的所有后台任务:
show().task("*", "computing")
终止后台任务
任务终止后无法恢复执行。
// 终止当前图集所有状态为computing的后台任务
stop().task("*")
// 终止当前图集指定的状态为computing的后台任务
stop().task(<id>)
清除后台任务
清除一个任务意味着将该任务的所有信息从当前图集中删除。
// 清除当前图集状态不是 computing 或 writing 的所有算法后台任务
clear().task("*")
// 清除当前图集状态不是 computing 或 writing 的某个算法后台任务
clear().task(<id>)
// 清除当前图集状态不是 computing 或 writing 的某种算法的后台任务
clear().task("<algo_name>", "*")
// 清除当前图集处于某种状态(非 computing 或 writing)的后台任务
clear().task("*", "<status>")
// 清除当前图集某种算法的、处于某种状态(非 computing 或 writing)的后台任务
clear().task("<algo_name>", "<status>")
本例清除所有后台任务:
clear().task("*")
本例清除ID为12的后台任务:
clear().task(12)
本例清除全图K邻算法所有状态为pending的后台任务:
clear().task("khop_all", "pending")