查询\u超过\u最大\u匹配\u kaltura api(python)上允许的错误

zpf6vheq  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(176)

我无法生成kaltura中的所有条目。消息为“无法生成列表”的apiexception。已达到最大匹配值”(错误:查询\u超过\u最大匹配\u允许)被触发。
我试图通过将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, cont, lastEntryIds, 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, cont, lastEntryIds, lastEntryCreatedAt = kmc.get_total_reg(cont, lastEntryIds, 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,kmc_page_size,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)
我很感激你能帮我做这件事。谢谢你的关注。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题