跳到主要内容

tophant.benjamin.api

Services

service Core

rpc Version

获取当前版本

rpc Version ( VersionRequest ) returns ( VersionResponse )
message VersionRequest {
// no fields
}
message VersionResponse {
string version = 1;
string tag = 2;
string commit = 3;
string build_time = 4;
string build_id = 5;
}

rpc WhoAmI

获取自己的身份信息(用于确认认证通过)

rpc WhoAmI ( WhoAmIRequest ) returns ( WhoAmIResponse )
message WhoAmIRequest {
// no fields
}
message WhoAmIResponse {
string name = 1;
string role = 2;
}

service Task

rpc GetTask

获取任务信息

rpc GetTask ( GetTaskReqeust ) returns ( GetTaskResponse )
message GetTaskReqeust {
string task_id = 1;
}
message GetTaskResponse {
}

rpc GetTaskStat

获取任务统计信息

rpc GetTaskStat ( GetTaskStatRequest ) returns ( GetTaskStatResponse )
message GetTaskStatRequest {
string task_id = 1;
}
message GetTaskStatResponse {
}

rpc GetTaskStatus

获取任务状态

rpc GetTaskStatus ( GetTaskStatusRequest ) returns ( GetTaskStatusResponse )
message GetTaskStatusRequest {
string task_id = 1;
}
message GetTaskStatusResponse {
// 任务 ID(注:JobId 是可能不存在的)
}

rpc NewTask

启动一个新的爬虫任务

rpc NewTask ( NewTaskRequest ) returns ( NewTaskResponse )
message NewTaskRequest {
tophant.benjamin.TaskConfig task_config = 1;
}
message NewTaskResponse {
}

rpc RefreshAuth

rpc RefreshAuth ( RefreshAuthRequest ) returns ( RefreshAuthResponse )
message RefreshAuthRequest {
string task_id = 1;
}
message RefreshAuthResponse {
// no fields
}

rpc RestartTask

恢复执行一个原有的爬虫任务

rpc RestartTask ( RestartTaskRequest ) returns ( RestartTaskResponse )
message RestartTaskRequest {
string job_id = 2;
// TaskId 与 JobId 二选一(优先 JobId)
string task_id = 1;
// 在任务开始前修改爬虫任务配置
tophant.benjamin.UpdateTaskConfig update_task_config = 11;
}
message RestartTaskResponse {
}

rpc StopTask

停止一个原有的爬虫任务

rpc StopTask ( StopTaskRequest ) returns ( StopTaskResponse )
message StopTaskRequest {
string task_id = 1;
}
message StopTaskResponse {
// 停止时可能给出一些备注
}

rpc ValidateTask

预检查爬虫配置是否正确

rpc ValidateTask ( ValidateTaskRequest ) returns ( ValidateTaskResponse )
message ValidateTaskRequest {
tophant.benjamin.TaskConfig task_config = 1;
}
message ValidateTaskResponse {
// no fields
}

Messages

message GetTaskReqeust

message GetTaskReqeust {
string task_id = 1;
}

message GetTaskResponse

message GetTaskResponse {
}

message GetTaskStatRequest

message GetTaskStatRequest {
string task_id = 1;
}

message GetTaskStatResponse

message GetTaskStatResponse {
}

message GetTaskStatusRequest

message GetTaskStatusRequest {
string task_id = 1;
}

message GetTaskStatusResponse

message GetTaskStatusResponse {
// 任务 ID(注:JobId 是可能不存在的)
}

message NewTaskRequest

message NewTaskRequest {
tophant.benjamin.TaskConfig task_config = 1;
}

message NewTaskResponse

message NewTaskResponse {
}

message RefreshAuthRequest

message RefreshAuthRequest {
string task_id = 1;
}

message RefreshAuthResponse

message RefreshAuthResponse {
// no fields
}

message RestartTaskRequest

message RestartTaskRequest {
string job_id = 2;
// TaskId 与 JobId 二选一(优先 JobId)
string task_id = 1;
// 在任务开始前修改爬虫任务配置
tophant.benjamin.UpdateTaskConfig update_task_config = 11;
}

message RestartTaskResponse

message RestartTaskResponse {
}

message StopTaskRequest

message StopTaskRequest {
string task_id = 1;
}

message StopTaskResponse

message StopTaskResponse {
// 停止时可能给出一些备注
}

message ValidateTaskRequest

message ValidateTaskRequest {
tophant.benjamin.TaskConfig task_config = 1;
}

message ValidateTaskResponse

为避免误解,response 不返回任何信息(如果 validate 失败,直接 API 层面报错)

message ValidateTaskResponse {
// no fields
}

message VersionRequest

message VersionRequest {
// no fields
}

message VersionResponse

message VersionResponse {
string version = 1;
string tag = 2;
string commit = 3;
string build_time = 4;
string build_id = 5;
}

message WhoAmIRequest

message WhoAmIRequest {
// no fields
}

message WhoAmIResponse

message WhoAmIResponse {
string name = 1;
string role = 2;
}