package tech.powerjob.server.core.handler;
|
|
import tech.powerjob.common.request.*;
|
import tech.powerjob.common.response.AskResponse;
|
|
/**
|
* 定义 server 与 worker 之间需要处理的协议
|
*
|
* @author tjq
|
* @since 2022/9/10
|
*/
|
public interface IWorkerRequestHandler {
|
|
/**
|
* 处理 worker 上报的心跳信息
|
* @param heartbeat 心跳信息
|
*/
|
void processWorkerHeartbeat(WorkerHeartbeat heartbeat);
|
|
/**
|
* 处理 TaskTracker 的任务实例上报
|
* @param req 上报请求
|
* @return 响应信息
|
*/
|
AskResponse processTaskTrackerReportInstanceStatus(TaskTrackerReportInstanceStatusReq req);
|
|
/**
|
* 处理 worker 查询执行器集群
|
* @param req 请求
|
* @return cluster info
|
*/
|
AskResponse processWorkerQueryExecutorCluster(WorkerQueryExecutorClusterReq req);
|
|
/**
|
* 处理 worker 日志推送请求(内部使用线程池异步处理,非阻塞)
|
* @param req 请求
|
*/
|
void processWorkerLogReport(WorkerLogReportReq req);
|
|
/**
|
* 处理 worker 的容器部署请求
|
* @param request 请求
|
* @return 容器部署信息
|
*/
|
AskResponse processWorkerNeedDeployContainer(WorkerNeedDeployContainerRequest request);
|
}
|