本节介绍用于管理进程和作业的方法。
进程
Top()
获取数据库中全部正在运行的进程。
参数
config: *configuration.RequestConfig
(可选):请求配置。
返回值
[]*structs.Process
:获取的进程的指针切片。error
:包含操作过程中遇到的任何问题的错误对象;如果操作成功,则返回nil
。
// Retrieves all running processes in the database
processes, _ := driver.Top(nil)
for _, process := range processes {
fmt.Println(process.ProcessId, "-", process.ProcessQuery)
}
1049215 - MATCH p = ()->{1,3}() RETURN p LIMIT 5000
Kill()
终止数据库中正在运行的进程。
参数
processId: string
:进程ID;用*
可指定全部正在运行的进程。config: *configuration.RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。error
:包含操作过程中遇到的任何问题的错误对象;如果操作成功,则返回nil
。
// Retrieves all running processes in the database
processes, _ := driver.Top(nil)
for _, process := range processes {
response, _ := driver.Kill(process.ProcessId, nil)
fmt.Println(process.ProcessId, "-", process.ProcessQuery, "- Kill", response.Status.Code)
}
1049303 - MATCH p = ()->{1,4}() RETURN p LIMIT 5000 - Kill SUCCESS
作业
ShowJob()
获取图的全部作业。
参数
id: string
:作业ID;用""
指定全部。config: *configuration.RequestConfig
(可选):请求配置。
返回值
[]*structs.Job
:获取的作业的指针切片。error
:包含操作过程中遇到的任何问题的错误对象;如果操作成功,则返回nil
。
// Retrieves all failed jobs in the graph 'miniCircle'
requestConfig := &configuration.RequestConfig{
Graph: "miniCircle",
}
jobs, _ := driver.ShowJob("", requestConfig)
failedFound := false
for _, job := range jobs {
if job.Status == "FAILED" {
failedFound = true
fmt.Println(job.Id, "-", job.Type, "-", job.ErrMsg)
}
}
if !failedFound {
fmt.Println("No failed jobs")
}
64 - CREATE_FULLTEXT - Fulltext name already exists.
56 - CREATE_INDEX - @account.year does not exist.
55 - CREATE_INDEX - @transfer.year does not exist.
53 - CREATE_INDEX - String type must set index length.
40 - CREATE_HDC_GRAPH - The projection aa already existed!
27 - CREATE_HDC_GRAPH - Hdc server sss not found.
StopTask()
停止图中一个正在运行的作业。
参数
id: string
:待停止的作业ID。config: *configuration.RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。error
:包含操作过程中遇到的任何问题的错误对象;如果操作成功,则返回nil
。
// Retrieves all running jobs in the graph 'miniCircle' and stops them all
requestConfig := &configuration.RequestConfig{
Graph: "miniCircle",
}
jobs, _ := driver.ShowJob("", requestConfig)
runningFound := false
for _, job := range jobs {
if job.Status == "RUNNING" {
runningFound = true
response, _ := driver.StopJob(job.Id, requestConfig)
fmt.Println(job.Id, "-", job.Type, "- Stop", response.Status.Code)
}
}
if !runningFound {
fmt.Println("No running jobs")
}
26 - CREATE_HDC_GRAPH - Stop SUCCESS
ClearTask()
清除图中一个非正在运行的作业。
参数
id: string
:待清除的作业ID。config: *configuration.RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。error
:包含操作过程中遇到的任何问题的错误对象;如果操作成功,则返回nil
。
// Retrieves all failed jobs in the graph 'miniCircle' and clears them all
requestConfig := &configuration.RequestConfig{
Graph: "miniCircle",
}
jobs, _ := driver.ShowJob("", requestConfig)
failedFound := false
for _, job := range jobs {
if job.Status == "FAILED" {
failedFound = true
response, _ := driver.ClearJob(job.Id, requestConfig)
fmt.Println("Clear", job.Id, response.Status.Code)
}
}
if !failedFound {
fmt.Println("No failed jobs")
}
Clear 27 SUCCESS
Clear 27_1 SUCCESS
Clear 14 SUCCESS
Clear 13 SUCCESS
Clear 12 SUCCESS
完整示例
package main
import (
"fmt"
"log"
"github.com/ultipa/ultipa-go-driver/v5/sdk"
"github.com/ultipa/ultipa-go-driver/v5/sdk/configuration"
)
func main() {
config := &configuration.UltipaConfig{
// URI example: Hosts: []string{"mqj4zouys.us-east-1.cloud.ultipa.com:60010"},
Hosts: []string{"192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"},
Username: "<usernmae>",
Password: "<password>",
}
driver, err := sdk.NewUltipaDriver(config)
if err != nil {
log.Fatalln("Failed to connect to Ultipa:", err)
}
// Retrieves all failed jobs in the graph 'miniCircle'
requestConfig := &configuration.RequestConfig{
Graph: "miniCircle",
}
jobs, _ := driver.ShowJob("", requestConfig)
failedFound := false
for _, job := range jobs {
if job.Status == "FAILED" {
failedFound = true
fmt.Println(job.Id, "-", job.Type, "-", job.ErrMsg)
}
}
if !failedFound {
fmt.Println("No failed jobs")
}
}