Files
EdgeCommon/pkg/rpc/protos/service_node_task.proto

115 lines
2.6 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/rpc_messages.proto";
import "models/model_node_task.proto";
// 节点同步任务相关服务
service NodeTaskService {
// 获取单节点同步任务
rpc findNodeTasks (FindNodeTasksRequest) returns (FindNodeTasksResponse);
// 报告同步任务结果
rpc reportNodeTaskDone (ReportNodeTaskDoneRequest) returns (RPCSuccess);
// 获取所有正在同步的集群信息
rpc findNodeClusterTasks (FindNodeClusterTasksRequest) returns (FindNodeClusterTasksResponse);
// 检查是否有正在执行的任务
rpc existsNodeTasks (ExistsNodeTasksRequest) returns (ExistsNodeTasksResponse);
// 删除任务
rpc deleteNodeTask (DeleteNodeTaskRequest) returns (RPCSuccess);
// 批量删除任务
rpc deleteNodeTasks (DeleteNodeTasksRequest) returns (RPCSuccess);
// 删除所有任务
rpc deleteAllNodeTasks(DeleteAllNodeTasksRequest) returns (RPCSuccess);
// 计算正在执行的任务数量
rpc countDoingNodeTasks (CountDoingNodeTasksRequest) returns (RPCCountResponse);
// 查找需要通知的任务
rpc findNotifyingNodeTasks (FindNotifyingNodeTasksRequest) returns (FindNotifyingNodeTasksResponse);
// 设置任务已通知
rpc updateNodeTasksNotified (UpdateNodeTasksNotifiedRequest) returns (RPCSuccess);
}
// 获取单节点同步任务
message FindNodeTasksRequest {
int64 version = 1; // 上一次执行的版本
}
message FindNodeTasksResponse {
repeated NodeTask nodeTasks = 1;
}
// 报告同步任务结果
message ReportNodeTaskDoneRequest {
int64 nodeTaskId = 1;
bool isOk = 2;
string error = 3;
}
// 获取所有正在同步的集群信息
message FindNodeClusterTasksRequest {
}
message FindNodeClusterTasksResponse {
repeated ClusterTask clusterTasks = 1;
}
message ClusterTask {
int64 clusterId = 1;
string clusterName = 2;
repeated NodeTask nodeTasks = 3;
}
// 检查是否有正在执行的任务
message ExistsNodeTasksRequest {
repeated string excludeTypes = 1;
}
message ExistsNodeTasksResponse {
bool existTasks = 1;
bool existError = 2;
}
// 删除任务
message DeleteNodeTaskRequest {
int64 nodeTaskId = 1;
}
// 批量删除任务
message DeleteNodeTasksRequest {
repeated int64 nodeTaskIds = 1;
}
// 删除所有任务
message DeleteAllNodeTasksRequest {
}
// 计算正在执行的任务数量
message CountDoingNodeTasksRequest {
}
// 查找需要通知的任务
message FindNotifyingNodeTasksRequest {
int64 size = 1;
}
message FindNotifyingNodeTasksResponse {
repeated NodeTask nodeTasks = 1;
}
// 设置任务已通知
message UpdateNodeTasksNotifiedRequest {
repeated int64 nodeTaskIds = 1;
}