def test_file_source(self): stream_format = StreamFormat.text_line_format() paths = ["/tmp/1.txt", "/tmp/2.txt"] file_source_builder = FileSource.for_record_stream_format( stream_format, *paths) file_source = file_source_builder\ .monitor_continuously(Duration.of_days(1)) \ .set_file_enumerator(FileEnumeratorProvider.default_splittable_file_enumerator()) \ .set_split_assigner(FileSplitAssignerProvider.locality_aware_split_assigner()) \ .build() continuous_setting = file_source.get_java_function( ).getContinuousEnumerationSettings() self.assertIsNotNone(continuous_setting) self.assertEqual(Duration.of_days(1), Duration(continuous_setting.getDiscoveryInterval())) input_paths_field = \ load_java_class("org.apache.flink.connector.file.src.AbstractFileSource"). \ getDeclaredField("inputPaths") input_paths_field.setAccessible(True) input_paths = input_paths_field.get(file_source.get_java_function()) self.assertEqual(len(input_paths), len(paths)) self.assertEqual(str(input_paths[0]), paths[0]) self.assertEqual(str(input_paths[1]), paths[1])
def get_alignment_timeout(self) -> 'Duration': """ Returns the alignment timeout, as configured via :func:`set_alignment_timeout` or ``org.apache.flink.streaming.api.environment.ExecutionCheckpointingOptions#ALIGNMENT_TIMEOUT``. :return: the alignment timeout. """ return Duration(self._j_checkpoint_config.getAlignmentTimeout())