示例#1
0
    def on_incoming_records(self, connection: ConnectionInterface) -> None:
        """Process records in batches."""
        input_df = connection.record_containers[0].build_dataframe()
        self.output_anchor.push_records(
            generate_records_from_df(input_df, self.output_anchor.record_info))

        connection.clear_records()
示例#2
0
    def on_incoming_records(self, connection: ConnectionInterface) -> None:
        """Process records in batches."""
        self.generate_metadata()

        df = connection.record_containers[0].build_dataframe()
        df["optional_value"] = self.workflow_config["Value"]

        self.output_anchor.push_records(
            generate_records_from_df(df, self.output_anchor.record_info))

        connection.clear_records()
示例#3
0
def test_connection_interface_record_handling(
        connection_interface: ConnectionInterface, record_collection):
    record_info, records = record_collection

    container = MockRecordContainer()
    connection_interface.add_record_container(container)

    events = []
    connection_interface.subscribe(ConnectionEvents.RECORD_RECEIVED,
                                   lambda **kwargs: events.append(kwargs))

    for record in records:
        connection_interface.ii_push_record(record)

    assert len(events) == len(records)
    assert len(container.records) == len(records)

    connection_interface.clear_records()
    assert len(container.records) == 0
示例#4
0
 def on_incoming_records(self, connection: ConnectionInterface) -> None:
     """Process records in batches."""
     # Do nothing with records for now, this is an output tool
     connection.clear_records()