介绍
涉及到写磁盘操作的算法,即 algo()
命令中使用了 write()
参数时,该算法命令是以后台任务的方式进行计算的。为了方便观察和管理算法运行的状态、查看算法运行的结果,UQL 支持对不同状态的算法后台任务执行以下的操作:
状态 | 含义 | 清除 |
终止 |
---|---|---|---|
pending | 排队中,尚未执行 | √ | |
computing | 计算中 | √ | |
writing | 写入中 | ||
stopped | 已终止 | √ | |
failed | 失败 | √ | |
done | 完成 | √ |
关于算法中 write()
参数的使用请参阅图算法文档《Ultipa图分析与图算法》。
查看后台任务
返回的表名:_task
返回的表头:id
|name
|params
|start
|egnineTime
|totalTime
|result
|status
(算法后台任务的 id、算法名称、算法参数、开始时间、引擎耗时(秒)、总耗时(秒)、算法结果、当前状态)
语法:
// 查看当前图集所有算法后台任务
show().task()
// 查看当前图集某个算法后台任务
show().task(<task_id>)
// 查看当前图集某种算法后台任务
show().task("<taskName>", "*")
// 查看当前图集处于某种状态的算法后台任务
show().task("*", "<status>")
// 查看当前图集某种算法且处于某种状态的算法后台任务
show().task("<taskName>", "<status>")
示例:查看 khop_all 的算法后台任务
show().task("khop_all", "*")
示例:查看正在计算中的算法后台任务
show().task("*", "computing")
清除后台任务
语法:
// 清除当前图集状态不是 computing 或 writing 的所有算法后台任务
clear().task("*")
// 清除当前图集状态不是 computing 或 writing 的某个算法后台任务
clear().task(<id>)
// 清除当前图集状态不是 computing 或 writing 的某种算法的后台任务
clear().task("<taskName>", "*")
// 清除当前图集处于某种状态(非 computing 或 writing)的后台任务
clear().task("*", "<status>")
// 清除当前图集某种算法的、处于某种状态(非 computing 或 writing)的后台任务
clear().task("<taskName>", "<status>")
示例:清除所有算法后台任务
clear().task("*")
示例:清除 id 为 12 的算法后台任务
clear().task(12)
示例:清除 khop_all 的状态为 pending 的后台任务
clear().task("khop_all", "pending")
终止后台任务
语法:
// 终止当前图集的状态为 computing 的所有算法后台任务
stop().task("*")
// 终止当前图集的状态为 computing 的某个算法后台任务
stop().task(<id>)