Я добавил этот счетчик в инициализация:
Код: Выделить всё
> self.cache_load_counter = Metrics.counter(self.__class__, 'cache_loads')
Код: Выделить всё
> self.cache_load_counter.inc()
Код: Выделить всё
> pardo
> bundle started
> Loading rule cache.
> Cache loaded with tag: 1734739200.0
> bundle started
> Loading rule cache.
> Cache loaded with tag: 1734742800.0
> Cache load counter: 1
Похоже, что счетчик сбрасывается между пакетами. Я ожидаю, что, поскольку в функции «Загрузка кэша правил» есть приращение счетчика, счетчик загрузки кэша должен быть равен 2. Почему этот счетчик возвращает 1?
Другая связанная проблема заключается в том, что при запуске пакета можно проверить, что каждый рабочий процесс загружает кеш (поэтому num_workers == кэш_загрузок), используя эти параметры
Код: Выделить всё
> options.\_all_options\['direct_num_workers'\] = num_workers
> options.\_all_options\['direct_running_mode'\] = 'multi_processing'
Код: Выделить всё
> options.view_as(beam.options.pipeline_options.WorkerOptions).num_workers = num_workers
Подробнее здесь: https://stackoverflow.com/questions/793 ... ss-bundles