def do_action()

in curator/actions/forcemerge.py [0:0]


    def do_action(self):
        """
        :py:meth:`~.elasticsearch.client.IndicesClient.forcemerge` indices in
        :py:attr:`index_list`
        """
        self.index_list.filter_closed()
        self.index_list.filter_forceMerged(max_num_segments=self.max_num_segments)
        self.index_list.empty_list_check()
        msg = (
            f'forceMerging {len(self.index_list.indices)} '
            f'selected indices: {self.index_list.indices}'
        )
        self.loggit.info(msg)
        try:
            for index_name in self.index_list.indices:
                msg = (
                    f'forceMerging index {index_name} to {self.max_num_segments} '
                    f'segments per shard. Please wait...'
                )
                self.loggit.info(msg)
                self.client.indices.forcemerge(
                    index=index_name, max_num_segments=self.max_num_segments
                )
                if self.delay > 0:
                    self.loggit.info(
                        'Pausing for %s seconds before continuing...', self.delay
                    )
                    sleep(self.delay)
        # pylint: disable=broad-except
        except Exception as err:
            report_failure(err)