Class InMemoryJobService
java.lang.Object
org.apache.beam.model.jobmanagement.v1.JobServiceGrpc.JobServiceImplBase
org.apache.beam.runners.jobsubmission.InMemoryJobService
- All Implemented Interfaces:
 AutoCloseable,org.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService,FnService,org.apache.beam.vendor.grpc.v1p69p0.io.grpc.BindableService
public class InMemoryJobService
extends org.apache.beam.model.jobmanagement.v1.JobServiceGrpc.JobServiceImplBase
implements FnService
A InMemoryJobService that prepares and runs jobs on behalf of a client using a 
JobInvoker.
 Job management is handled in-memory rather than any persistent storage, running the risk of leaking jobs if the InMemoryJobService crashes.
TODO: replace in-memory job management state with persistent solution.
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default maximum number of completed invocations to keep. - 
Method Summary
Modifier and TypeMethodDescriptionvoidcancel(org.apache.beam.model.jobmanagement.v1.JobApi.CancelJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.CancelJobResponse> responseObserver) voidclose().static InMemoryJobServicecreate(GrpcFnServer<ArtifactStagingService> stagingService, Function<String, String> stagingServiceTokenProvider, ThrowingConsumer<Exception, String> cleanupJobFn, JobInvoker invoker) Creates an InMemoryJobService.static InMemoryJobServicecreate(GrpcFnServer<ArtifactStagingService> stagingService, Function<String, String> stagingServiceTokenProvider, ThrowingConsumer<Exception, String> cleanupJobFn, JobInvoker invoker, int maxInvocationHistory) Creates an InMemoryJobService.voiddescribePipelineOptions(org.apache.beam.model.jobmanagement.v1.JobApi.DescribePipelineOptionsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.DescribePipelineOptionsResponse> responseObserver) voidgetJobMetrics(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobMetricsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobMetricsResponse> responseObserver) voidgetJobs(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobsResponse> responseObserver) voidgetMessageStream(org.apache.beam.model.jobmanagement.v1.JobApi.JobMessagesRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobMessagesResponse> responseObserver) voidgetPipeline(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobPipelineRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobPipelineResponse> responseObserver) voidgetState(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobStateRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobStateEvent> responseObserver) voidgetStateStream(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobStateRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobStateEvent> responseObserver) voidprepare(org.apache.beam.model.jobmanagement.v1.JobApi.PrepareJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.PrepareJobResponse> responseObserver) voidrun(org.apache.beam.model.jobmanagement.v1.JobApi.RunJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.RunJobResponse> responseObserver) Methods inherited from class org.apache.beam.model.jobmanagement.v1.JobServiceGrpc.JobServiceImplBase
bindServiceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.beam.vendor.grpc.v1p69p0.io.grpc.BindableService
bindServiceMethods inherited from interface org.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
drain 
- 
Field Details
- 
DEFAULT_MAX_INVOCATION_HISTORY
public static final int DEFAULT_MAX_INVOCATION_HISTORYThe default maximum number of completed invocations to keep.- See Also:
 
 
 - 
 - 
Method Details
- 
create
public static InMemoryJobService create(GrpcFnServer<ArtifactStagingService> stagingService, Function<String, String> stagingServiceTokenProvider, ThrowingConsumer<Exception, String> cleanupJobFn, JobInvoker invoker) Creates an InMemoryJobService.- Parameters:
 stagingService- The staging service.stagingServiceTokenProvider- Function mapping a preparationId to a staging service token.cleanupJobFn- A cleanup function to run, parameterized with the staging token of a job.invoker- A JobInvoker which creates the jobs.- Returns:
 - A new InMemoryJobService.
 
 - 
create
public static InMemoryJobService create(GrpcFnServer<ArtifactStagingService> stagingService, Function<String, String> stagingServiceTokenProvider, ThrowingConsumer<Exception, String> cleanupJobFn, JobInvoker invoker, int maxInvocationHistory) Creates an InMemoryJobService.- Parameters:
 stagingService- The staging service.stagingServiceTokenProvider- Function mapping a preparationId to a staging service token.cleanupJobFn- A cleanup function to run, parameterized with the staging token of a job.invoker- A JobInvoker which creates the jobs.maxInvocationHistory- The maximum number of completed invocations to keep.- Returns:
 - A new InMemoryJobService.
 
 - 
prepare
public void prepare(org.apache.beam.model.jobmanagement.v1.JobApi.PrepareJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.PrepareJobResponse> responseObserver) - Specified by:
 preparein interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
run
public void run(org.apache.beam.model.jobmanagement.v1.JobApi.RunJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.RunJobResponse> responseObserver) - Specified by:
 runin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getJobs
public void getJobs(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobsResponse> responseObserver) - Specified by:
 getJobsin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getState
public void getState(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobStateRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobStateEvent> responseObserver) - Specified by:
 getStatein interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getPipeline
public void getPipeline(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobPipelineRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobPipelineResponse> responseObserver) - Specified by:
 getPipelinein interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
cancel
public void cancel(org.apache.beam.model.jobmanagement.v1.JobApi.CancelJobRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.CancelJobResponse> responseObserver) - Specified by:
 cancelin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getStateStream
public void getStateStream(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobStateRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobStateEvent> responseObserver) - Specified by:
 getStateStreamin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getMessageStream
public void getMessageStream(org.apache.beam.model.jobmanagement.v1.JobApi.JobMessagesRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.JobMessagesResponse> responseObserver) - Specified by:
 getMessageStreamin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
getJobMetrics
public void getJobMetrics(org.apache.beam.model.jobmanagement.v1.JobApi.GetJobMetricsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.GetJobMetricsResponse> responseObserver) - Specified by:
 getJobMetricsin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
describePipelineOptions
public void describePipelineOptions(org.apache.beam.model.jobmanagement.v1.JobApi.DescribePipelineOptionsRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.jobmanagement.v1.JobApi.DescribePipelineOptionsResponse> responseObserver) - Specified by:
 describePipelineOptionsin interfaceorg.apache.beam.model.jobmanagement.v1.JobServiceGrpc.AsyncService
 - 
close
Description copied from interface:FnService.There should be no more calls to any service method by the time a call to
FnService.close()begins. Specifically, this means that aServerthat this service is bound to should have completed a call to theServer.shutdown()method, and all future incoming calls will be rejected.- Specified by:
 closein interfaceAutoCloseable- Specified by:
 closein interfaceFnService- Throws:
 Exception
 
 -