(pillow_id='kafka-ucr-static', ucr_division=None,
                                include_ucrs=None, exclude_ucrs=None, topics=None,
                                num_processes=1, process_num=0, dedicated_migration_process=False,
                                processor_chunk_size=DEFAULT_PROCESSOR_CHUNK_SIZE, **kwargs)
return ConfigurableReportKafkaPillow(
        processor=ConfigurableReportPillowProcessor(table_manager),
        pillow_name=pillow_id,
        topics=topics,
        num_processes=num_processes,
        process_num=process_num,
        retry_errors=True,
        is_dedicated_migration_process=dedicated_migration_process and (process_num == 0),
        processor_chunk_size=processor_chunk_size,
    )
UCR pillow that reads from all Kafka topics and writes data into the UCR database tables.

    Only processes `static` UCR datasources (configuration lives in the codebase instead of the database).

        Processors:
          - :py:class:`corehq.apps.userreports.pillow.ConfigurableReportPillowProcessor`
UCR pillow that reads from all Kafka topics and writes data into the UCR database tables.
UCR pillow that reads from all Kafka topics and writes data into the UCR database tables .
def get_kafka_ucr_static_pillow(pillow_id='kafka-ucr-static', ucr_division=None,
                                include_ucrs=None, exclude_ucrs=None, topics=None,
                                num_processes=1, process_num=0, dedicated_migration_process=False,
                                processor_chunk_size=DEFAULT_PROCESSOR_CHUNK_SIZE, **kwargs):
    """UCR pillow that reads from all Kafka topics and writes data into the UCR database tables.

    Only processes `static` UCR datasources (configuration lives in the codebase instead of the database).

        Processors:
          - :py:class:`corehq.apps.userreports.pillow.ConfigurableReportPillowProcessor`
    """
    # todo; To remove after full rollout of https://github.com/dimagi/commcare-hq/pull/21329/
    topics = topics or KAFKA_TOPICS
    topics = [t for t in topics]
    table_manager = ConfigurableReportTableManager(
        data_source_providers=[StaticDataSourceProvider()],
        ucr_division=ucr_division,
        include_ucrs=include_ucrs,
        exclude_ucrs=exclude_ucrs,
        bootstrap_interval=7 * 24 * 60 * 60,  # 1 week
        run_migrations=(process_num == 0)  # only first process runs migrations
    )
    return ConfigurableReportKafkaPillow(
        processor=ConfigurableReportPillowProcessor(table_manager),
        pillow_name=pillow_id,
        topics=topics,
        num_processes=num_processes,
        process_num=process_num,
        retry_errors=True,
        is_dedicated_migration_process=dedicated_migration_process and (process_num == 0),
        processor_chunk_size=processor_chunk_size,
    )
def get_kafka_ucr_static_pillow ( pillow_id = 'kafka-ucr-static' , ucr_division = None , include_ucrs = None , exclude_ucrs = None , topics = None , num_processes = 1 , process_num = 0 , dedicated_migration_process = False , processor_chunk_size = DEFAULT_PROCESSOR_CHUNK_SIZE , * * kwargs ) : # todo; To remove after full rollout of https://github.com/dimagi/commcare-hq/pull/21329/ topics = topics or KAFKA_TOPICS topics = [ t for t in topics ] table_manager = ConfigurableReportTableManager ( data_source_providers = [ StaticDataSourceProvider ( ) ] , ucr_division = ucr_division , include_ucrs = include_ucrs , exclude_ucrs = exclude_ucrs , bootstrap_interval = 7 * 24 * 60 * 60 , # 1 week run_migrations = ( process_num == 0 ) # only first process runs migrations ) return ConfigurableReportKafkaPillow ( processor = ConfigurableReportPillowProcessor ( table_manager ) , pillow_name = pillow_id , topics = topics , num_processes = num_processes , process_num = process_num , retry_errors = True , is_dedicated_migration_process = dedicated_migration_process and ( process_num == 0 ) , processor_chunk_size = processor_chunk_size , )