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

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

我无法生成kaltura中的所有条目。消息为“无法生成列表”的apiexception。已达到最大匹配值”(错误:查询\u超过\u最大匹配\u允许)被触发。
我试图通过将sessionprivileges设置为 disableentitlement ```
class class_chk_integrity():
client = None
pagesize = 0

  1. def __init__(self,worker_num, progress):
  2. self.pagesize = 30
  3. self.worker_num = worker_num
  4. self.progress = progress
  5. config = KalturaConfiguration(2723521)
  6. config.serviceUrl = "https://www.kaltura.com/"
  7. self.client = KalturaClient(config)
  8. ks = self.client.session.start("KALTURA_ADMIN_SECRET",
  9. "email@email.com",
  10. KalturaPluginsCore.KalturaSessionType.ADMIN,
  11. "KALTURA_PARTNER_ID",
  12. 432000,
  13. "disableentitlement")
  14. self.client.setKs(ks)
  1. 我还尝试根据id进行筛选。然而,我无法将 `filter.idNotIn` 正常工作。

def get_total_reg(self, cont, lastEntryIds, lastEntryCreatedAt):

  1. filter = KalturaPluginsCore.KalturaBaseEntryFilter()
  2. if lastEntryIds != "":
  3. filter.idNotIn = lastEntryIds
  4. filter.orderBy = KalturaBaseEntryOrderBy.CREATED_AT_DESC
  5. pager = KalturaPluginsCore.KalturaFilterPager()
  6. pageIndex = 1
  7. entriesGot = 0
  8. pager.pageSize = self.pagesize
  9. pager.setPageIndex = pageIndex
  10. result = self.client.baseEntry.list(filter, pager)
  11. totalCount = result.totalCount
  12. if totalCount > 10000:
  13. totalCount = 9970
  14. if totalCount <= 0:
  15. cont = False
  16. while entriesGot < totalCount:
  17. pager.pageSize = self.pagesize
  18. pageIndex += 1
  19. pager.pageIndex = pageIndex
  20. result = self.client.baseEntry.list(filter, pager)
  21. entriesGot += len(result.objects)
  22. for e in result.objects:
  23. if lastEntryIds == "":
  24. lastEntryIds.append(e.id)
  25. else:
  26. lastEntryIds.append(e.id)
  27. lastEntryCreatedAt = e.createdAt
  28. return result.totalCount, self.pagesize, cont, lastEntryIds, lastEntryCreatedAt
  1. 这是我调用函数的方式

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

  1. while cont is True:
  2. kmc = class_chk_integrity(0,0)
  3. kmc_total_reg, kmc_page_size, cont, lastEntryIds, lastEntryCreatedAt = kmc.get_total_reg(cont, lastEntryIds, lastEntryCreatedAt)
  4. interval = 10
  5. max_threads = math.ceil(kmc_total_reg / (interval * kmc_page_size))
  6. # max_threads = 1
  7. threads_list = []
  8. print('TOTAL REG : %s | PAGE_SIZE : %s | INTERVAL : %s | THREADS : %s' % (kmc_total_reg,kmc_page_size,interval,max_threads))
  9. progress = class_progress_thread(max_threads)
  10. for index in range(0,max_threads):
  11. page_ini = index * interval
  12. page_end = index * interval + interval
  13. progress.add_worker_progress(index,datetime.now())
  14. threads_list.append(threading.Thread(target=thread_chk_integrity, args=(index, log, index * interval + 1,index * interval + interval,progress)))
  15. threads_list.append(threading.Thread(target=thread_output_progress, args=(progress,max_threads)))
  16. for thread in threads_list:
  17. thread.start()
  18. for thread in threads_list:
  19. thread.join()
  20. while not progress.stop(): time.sleep(30)
  21. except KeyboardInterrupt:
  22. try:
  23. sys.exit(0)
  24. except SystemExit:
  25. os._exit(0)
  1. 我很感激你能帮我做这件事。谢谢你的关注。

暂无答案!

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

相关问题