任务

UQL 提供了对 Ultipa 的任务管理支持,用户可以随意的去查看,停止,删除任务。Ultipa 的任务机制可以帮助用户随时随地的去掌控引擎的运行状态,对运算资源实时作出调整。

Ultipa 的任务分为两大类:

  • 运行时 UQL(UQL Process)
    • 运行时 UQL 指的是正在运行的 UQL,不包括算法相关的 UQL。比如查询,添加,修改相关的 UQL 语句。
  • 算法任务(Algorithm Task)
    • 长耗时算法相关的任务,比如 Louvain 社区识别,三角形计算等。

注:关于算法的使用请参阅图算法文档《Ultipa图分析与图算法》

运行时 UQL(UQL Process)

除算法以外的 UQL 将都归类为 UQL Process,并且可以通过本小节提供的命令进行管理。

查看运行时 UQL

查看运行时 UQL 的[命令]为: top()

终止运行时 UQL

终止运行时 UQL 的[命令] 为:kill()

通过 process ID 终止某一个任务:

kill(<process_id>)

终止所有运行时任务:

kill().all();

算法任务(Algorithm Task)

提示:关于算法的具体使用请参阅图算法文档《Ultipa图分析与图算法》

Ultipa 提供了大量的算法,即使在超大的数据集下也能平稳高效的运行。为了方便观察算法运行的状态,管理算法任务,UQL 支持对算法任务的各项操作,包括查看,停止,删除。

查看算法任务

查看算法任务的[命令]为:showTask()

showTask().id?(<id>).name?(<name>).status?(<status>). limit(<number>)
名称 类型 规范 描述
id task id / 任务ID
name algo name / 算法名称
status status status 运行状态
limit number >0 返回数量

注: id 过滤需单独使用,不可与 name 和 status 过滤同时出现

任务状态(status)分为:

  • pending 正在排队
  • computing 正在计算
  • writing 正在回写
  • failed 运行失败
  • stopped 终止
  • done 运行成功

示例 1:查看最近运行的 5 条任务

showTask().limit(5);

示例 2:查看最近运行的 5 条全图 KHOP 算法任务:

showTask().name("k_hop").limit(5);

示例 3:查看正在计算中的任务

showTask().status("computing").limit(5);

清除算法任务列表

清除算法任务的[命令]为:clearTask()

clearTask().id?(<id>).name?(<name>).status?(<status>).all?()
名称 类型 规范 描述
id task id / 任务ID
name algo name / 算法名称
status status status 运行状态
all / / 清除所有

注:只能够清除运行结束的算法:(成功,停止,失败)

注: id 过滤需单独使用,不可与 name 和 status 过滤同时出现

示例:清除所有算法任务:

clearTask().all();

示例:清除所有 khop 相关的 task

clearTask().name("k_hop");

示例:清除 task (id=1):

clearTask().id(1);

示例;清除 pending 状态的 tasks

clearTask().status(pending);

取消/停止算法任务

停止任务的[命令] 为:stopTask()

stopTask().id(<id>)