Class GRpcAgentJobKillServiceImpl
java.lang.Object
com.netflix.genie.agent.execution.services.impl.grpc.GRpcAgentJobKillServiceImpl
- All Implemented Interfaces:
AgentJobKillService
Implementation of the
AgentJobKillService
, listens for kill coming from server using long-polling.
Note: this implementation still suffers from a serious flaw: because it is implemented with a unary call, the server will never realize the client is gone if the connection is broken. This can lead to an accumulation of parked calls on the server. A new protocol (based on a bidirectional stream) is necessary to solve this problem.
- Since:
- 4.0.0
-
Constructor Summary
ConstructorsConstructorDescriptionGRpcAgentJobKillServiceImpl
(com.netflix.genie.proto.JobKillServiceGrpc.JobKillServiceFutureStub client, KillService killService, org.springframework.scheduling.TaskScheduler taskScheduler, JobKillServiceProperties properties) Constructor. -
Method Summary
-
Constructor Details
-
GRpcAgentJobKillServiceImpl
public GRpcAgentJobKillServiceImpl(com.netflix.genie.proto.JobKillServiceGrpc.JobKillServiceFutureStub client, KillService killService, org.springframework.scheduling.TaskScheduler taskScheduler, JobKillServiceProperties properties) Constructor.- Parameters:
client
- The gRPC client to use to call the serverkillService
- KillService for killing the agenttaskScheduler
- A task schedulerproperties
- The service properties
-
-
Method Details
-
start
public void start(@NotBlank(message="Job id cannot be blank") @NotBlank(message="Job id cannot be blank") String jobId) Start listening for job termination notification.- Specified by:
start
in interfaceAgentJobKillService
- Parameters:
jobId
- job id
-
stop
public void stop()Stop the service.- Specified by:
stop
in interfaceAgentJobKillService
-