本节介绍用于管理进程和作业的方法。
进程
top()
获取数据库中全部正在运行的进程。
参数
config: RequestConfig
(可选):请求配置。
返回值
Process[]
:获取的进程列表。
// Retrieves all running processes in the database
const processes = await conn.top();
for (const process of processes){
console.log(`${process.processId} - ${process.processQuery}`)
}
1049542 - MATCH p = ()->{1,3}() RETURN p LIMIT 5000
kill()
终止数据库中正在运行的进程。
参数
processId: string
进程ID;用*
可指定全部正在运行的进程。config: RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。
// Retrieves all running processes in the database and kills them all
const processes = await conn.top();
for (const process of processes) {
const response = await conn.kill(process.processId);
console.log(`${process.processId} - ${process.processQuery} - Kill ${response.status?.message}`);
}
1049607 - MATCH p = ()->{1,3}() RETURN p LIMIT 5000 - Kill SUCCESS
作业
showJob()
获取图的全部作业。
参数
id: string
(可选):作业ID。config: RequestConfig
(可选):请求配置。
返回值
Job[]
:获取的作业列表。
// Retrieves all failed jobs in the graph 'miniCircle'
const requestConfig:RequestConfig = {
graph: "miniCircle"
}
const jobs = await conn.showJob(undefined,requestConfig);
const failed_jobs = jobs.filter(job => job.status === "FAILED")
if (failed_jobs.length > 0) {
for (const job of failed_jobs) {
console.log(`${job.id} - ${job.type} - ${job.errMsg}`)
}
} else {
console.log("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.
stopJob()
停止图中一个正在运行的作业。
参数
id: string
:待停止的作业ID。config: RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。
// Retrieves all running jobs in the graph 'miniCircle' and stops them all
const requestConfig: RequestConfig = {
graph: "miniCircle",
};
const jobs = await conn.showJob(undefined,requestConfig);
const running_jobs = jobs.filter((job) => job.status === "RUNNING");
for (const running_job of running_jobs) {
const response = await conn.stopJob(running_job.id, requestConfig);
console.log(
`${running_job.id} - ${running_job.type} - Stop - ${response.status?.message}`
);
}
10 - CREATE_FULLTEXT - Stop FAILED
10_1- CREATE_FULLTEXT - Stop SUCCESS
10_2 - CREATE_FULLTEXT - Stop SUCCESS
clearJob()
清除图中一个非正在运行的作业。
参数
id: string
:待清除的作业ID。config: RequestConfig
(可选):请求配置。
返回值
Response
:请求结果。
// Retrieves all failed jobs in the graph 'miniCircle' and clears them all
const requestConfig: RequestConfig = {
graph: "miniCircle",
};
const jobs = await conn.showJob(undefined,requestConfig);
const failed_jobs = jobs.filter((job) => job.status === "FAILED");
if (failed_jobs.length > 0) {
for (const job of failed_jobs) {
const response = await conn.clearJob(job.id, requestConfig);
console.log(`Clear ${job.id} ${response.status?.message}`);
}
} else {
console.log("No failed jobs");
}
Clear 51 SUCCESS
Clear 42 SUCCESS
Clear 26 SUCCESS
Clear 26_1 SUCCESS
Clear 17 SUCCESS
Clear 17_1 SUCCESS
完整示例
import { UltipaDriver } from "@ultipa-graph/ultipa-driver";
import { ULTIPA } from "@ultipa-graph/ultipa-driver/dist/types";
import { RequestConfig } from "@ultipa-graph/ultipa-driver/dist/types/types";
let sdkUsage = async () => {
// URI example: ultipaConfig.hosts: ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
const ultipaConfig: ULTIPA.UltipaConfig = {
hosts: ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"],
username: "<username>",
password: "<password>"
};
const conn = new UltipaDriver(ultipaConfig);
const isSuccess = await conn.test();
console.log(`Connection succeeds: ${isSuccess}`);
// Retrieves all failed jobs in the graph 'miniCircle'
const requestConfig: RequestConfig = {
graph: "miniCircle",
};
const jobs = await conn.showJob(undefined, requestConfig);
const failed_jobs = jobs.filter((job) => job.status === "FAILED");
if (failed_jobs.length > 0) {
for (const job of failed_jobs) {
console.log(`${job.id} - ${job.type} - ${job.errMsg}`);
}
} else {
console.log("No failed jobs");
}
};
sdkUsage().catch(console.error);