如何解决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 举报,一经查实,本站将立刻删除。