Kaltura API (Python) 上的 QUERY_EXCEEDED_MAX_MATCHES_ALLOWED 错误

问题描述

我无法在 Kaltura 中生成所有条目。带有消息“无法生成列表。已达到最大匹配值”(错误:QUERY_EXCEEDED_MAX_MATCHES_ALLOWED)的 ApiException 被触发。

我试图通过将 sessionPrivileges 设置为 disableentitlement

来解决此类问题
class class_chk_integrity():
    client = None
    pagesize = 0

    def __init__(self,worker_num,progress):
        self.pagesize = 30
        self.worker_num = worker_num
        self.progress = progress

        config = KalturaConfiguration(2723521)
        config.serviceUrl = "https://www.kaltura.com/"
        self.client = KalturaClient(config)
        ks = self.client.session.start("KALTURA_ADMIN_SECRET","email@email.com",KalturaPluginsCore.KalturaSessionType.ADMIN,"KALTURA_PARTNER_ID",432000,"disableentitlement")
        self.client.setKs(ks)

我还尝试根据 id 进行过滤。但是,我无法让 filter.idNotIn 正常工作。

   def get_total_reg(self,cont,lastEntryIds,lastEntryCreatedAt):
        
        
        filter = KalturaPluginsCore.KalturaBaseEntryFilter()

        if lastEntryIds != "":
            filter.idNotIn = lastEntryIds

        filter.orderBy = KalturaBaseEntryOrderBy.CREATED_AT_DESC

        pager = KalturaPluginsCore.KalturaFilterPager()
        

        pageIndex = 1
        entriesGot = 0

        pager.pageSize = self.pagesize
        pager.setPageIndex = pageIndex
        result = self.client.baseEntry.list(filter,pager)
        totalCount = result.totalCount

        if totalCount > 10000:
            totalCount = 9970

        if totalCount <= 0:
            cont = False
        
        while entriesGot < totalCount:

            pager.pageSize = self.pagesize
            pageIndex += 1
            pager.pageIndex = pageIndex
            result = self.client.baseEntry.list(filter,pager)
            entriesGot += len(result.objects)

        
            for e in result.objects:
                if lastEntryIds == "":
                    lastEntryIds.append(e.id)
                else:
                    lastEntryIds.append(e.id)

                lastEntryCreatedAt = e.createdAt
        

        return result.totalCount,self.pagesize,lastEntryCreatedAt

这就是我调用函数的方式

if __name__ == '__main__':
    try:
        log = _ServiceUtils.log()
        log.setup('all','integrity')
        cont = True
        lastEntryIds = []
        lastEntryCreatedAt = 0


        while cont is True:

            kmc = class_chk_integrity(0,0)
        
            kmc_total_reg,kmc_page_size,lastEntryCreatedAt = kmc.get_total_reg(cont,lastEntryCreatedAt)

            interval = 10
            max_threads = math.ceil(kmc_total_reg / (interval * kmc_page_size))
            # max_threads = 1
            threads_list = []

            print('TOTAL REG : %s | PAGE_SIZE : %s | INTERVAL : %s | THREADS : %s' % (kmc_total_reg,interval,max_threads))  

            progress = class_progress_thread(max_threads)

            for index in range(0,max_threads):
                page_ini = index * interval
                page_end = index * interval + interval
                progress.add_worker_progress(index,datetime.now())

                threads_list.append(threading.Thread(target=thread_chk_integrity,args=(index,log,index * interval + 1,index * interval + interval,progress)))
        
            threads_list.append(threading.Thread(target=thread_output_progress,args=(progress,max_threads)))    

            for thread in threads_list:
                thread.start()

            for thread in threads_list:
                thread.join()

            while not progress.stop(): time.sleep(30)


    except KeyboardInterrupt:
        try:
            sys.exit(0)
        except SystemExit:
            os._exit(0)

如果有任何帮助,我将不胜感激。 感谢您的关注。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...