syntax = "proto3"; option go_package = "./pb"; package pb; import "models/rpc_messages.proto"; import "models/model_http_cache_task.proto"; // 缓存任务管理 service HTTPCacheTaskService { // 创建任务 rpc createHTTPCacheTask(CreateHTTPCacheTaskRequest) returns (CreateHTTPCacheTaskResponse); // 计算任务总数量 rpc countHTTPCacheTasks(CountHTTPCacheTasksRequest) returns (RPCCountResponse); // 计算正在执行的任务数量 rpc countDoingHTTPCacheTasks(CountDoingHTTPCacheTasksRequest) returns (RPCCountResponse); // 列出单页任务 rpc listHTTPCacheTasks(ListHTTPCacheTasksRequest) returns (ListHTTPCacheTasksResponse); // 查找单个任务 rpc findEnabledHTTPCacheTask(FindEnabledHTTPCacheTaskRequest) returns (FindEnabledHTTPCacheTaskResponse); // 删除任务 rpc deleteHTTPCacheTask(DeleteHTTPCacheTaskRequest) returns (RPCSuccess); // 重置任务状态 rpc resetHTTPCacheTask(ResetHTTPCacheTaskRequest) returns (RPCSuccess); } // 创建任务 message CreateHTTPCacheTaskRequest { string type = 1; // 任务类型,值为 purge 或者 fetch;purge:删除缓存,fetch:预热缓存 string keyType = 2; // Key类型,值为 key 或者 prefix;如果是 key 表示处理的是URL,如果是 prefix 表示处理的是目录;预热的时候只能为 key repeated string keys = 3; // 要清理的Key,根据Key类型(keyType)来输入不同的内容 } message CreateHTTPCacheTaskResponse { int64 httpCacheTaskId = 1; // 生成的任务ID int64 countKeys = 2; // 任务中包含的Key } // 计算任务总数量 message CountHTTPCacheTasksRequest { } // 计算正在执行的任务数量 message CountDoingHTTPCacheTasksRequest { } // 查找单个任务 message FindEnabledHTTPCacheTaskRequest { int64 httpCacheTaskId = 1; // 任务ID } message FindEnabledHTTPCacheTaskResponse { HTTPCacheTask httpCacheTask = 1; // 任务信息 } // 列出单页任务 message ListHTTPCacheTasksRequest { int64 offset = 1; // 查询起始位置 int64 size = 2; // 查询条数 } message ListHTTPCacheTasksResponse { repeated HTTPCacheTask httpCacheTasks = 1; // 一组任务信息 } // 删除任务 message DeleteHTTPCacheTaskRequest { int64 httpCacheTaskId = 1; // 任务ID } // 重置任务状态 message ResetHTTPCacheTaskRequest { int64 httpCacheTaskId = 1; // 任务ID }