go语言实现爬虫(三)

添加grpc

简单编写proto文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
syntax = "proto3";
option go_package = "./;proto";

service Crawler {
rpc Start (StartReq) returns (TaskInfoResp) {}
rpc Stop (TaskInfoReq) returns (TaskInfoResp) {}
rpc Status (TaskInfoReq) returns (TaskInfoResp) {}
rpc Pause (TaskInfoReq) returns (TaskInfoResp) {}
rpc Resume (TaskInfoReq) returns (TaskInfoResp) {}
rpc Result (TaskInfoReq) returns (TaskInfoResp) {}
}

message StartReq {
string taskID = 1;
repeated string urls = 2;
int32 threads = 3;
int32 timeout = 4;
int32 depth = 5;
}

message TaskInfoReq {
string taskID = 1;
}

message TaskInfoResp {
int32 code = 1;
string msg = 2;
repeated string data = 3;
}

运行测试