跳到主要内容

tophant.benjamin.x.worker

Messages

message Event

message Event {
string source = 1;
string action = 2;
oneof event {
Event.TargetLink target_link = 21;
Event.NewTarget new_target = 22;
Event.TargetStart target_start = 23;
Event.TargetUpdate target_update = 25;
Event.TargetEnd target_end = 24;
Event.NewResult new_result = 31;
}
}

message Event.NewResult

message NewResult {
}

message Event.NewTarget

message NewTarget {
// 此时 status 一定为 Pending 或 Bypass
// 此时 error, request, response, redirects, screenshot 信息不存在
// 此时 Timing 仅包括 found_at
}

message Event.TargetEnd

message TargetEnd {
// 此时 status 一定为 Done 或 Discard
// 此时所有字段均被设定且不会再做修改
}
message TargetLink {
}

message Event.TargetStart

message TargetStart {
}

message Event.TargetUpdate

message TargetUpdate {
}

message Work

Work 为一个 Worker 工作的内容 注:因一个 Worker 只会负责一个任务的处理,因此 Work 无需包含多余的任务信息

message Work {
string id = 1;
oneof work {
Work.Prepare prepare = 11;
Work.Crawl crawl = 21;
}
}

message Work.Crawl

Crawl 执行爬取指定目标任务

message Crawl {
}

message Work.Prepare

Prepare 执行任务准备工作

message Prepare {
// no fields
}

message Worker

message Worker {
// Worker 的随机 UUID
string id = 3;
// Worker 的名称
string name = 1;
// Worker 的标签(当前只为 normal 或 priority)
repeated string tags = 4;
// Worker 使用的任务队列
string queue = 2;
}