@Test public void testReadPublicData() throws Exception { // The pipeline will never terminate on its own pipeline.getOptions().as(DirectOptions.class).setBlockOnRun(false); PCollection<String> messages = pipeline.apply( PubsubIO.readStrings() .fromTopic("projects/pubsub-public-data/topics/taxirides-realtime")); messages.apply( "waitForAnyMessage", signal.signalSuccessWhen(messages.getCoder(), anyMessages -> true)); Supplier<Void> start = signal.waitForStart(Duration.standardMinutes(5)); pipeline.apply(signal.signalStart()); PipelineResult job = pipeline.run(); start.get(); signal.waitForSuccess(Duration.standardSeconds(30)); // A runner may not support cancel try { job.cancel(); } catch (UnsupportedOperationException exc) { // noop } } }
resultSignal.waitForSuccess(Duration.standardSeconds(60));
resultSignal.waitForSuccess(Duration.standardMinutes(2)); dlqSignal.waitForSuccess(Duration.standardMinutes(2));