def start_producer()

in ees_microsoft_teams/full_sync_command.py [0:0]


    def start_producer(self, queue):
        """This method starts async calls for the producer which is responsible for fetching documents from
        the Microsoft Teams and pushing them in the shared queue
        :param queue: Shared queue to fetch the stored documents
        """
        self.logger.debug("Starting producer for fetching objects from Microsoft Teams")

        thread_count = self.config.get_value("ms_teams_sync_thread_count")
        sync_microsoft_teams = SyncMicrosoftTeams(
            INDEXING_TYPE, self.config, self.logger, queue
        )
        start_time = self.config.get_value("start_time")
        end_time = constant.CURRENT_TIME

        if self.config.get_value("enable_document_permission"):
            self.remove_object_permissions(end_time)
        else:
            self.logger.info("'enable_document_permission' is disabled, skipping permission removal")

        self.create_jobs_for_teams(
            INDEXING_TYPE,
            sync_microsoft_teams,
            thread_count,
            start_time,
            end_time,
            queue,
        )

        self.create_jobs_for_user_chats(
            INDEXING_TYPE,
            sync_microsoft_teams,
            thread_count,
            start_time,
            end_time,
            queue
        )

        self.create_jobs_for_calendars(
            INDEXING_TYPE,
            sync_microsoft_teams,
            start_time,
            end_time,
            queue
        )

        for _ in range(self.config.get_value("enterprise_search_sync_thread_count")):
            queue.end_signal()