Я использую аккорды сельдерея для структурирования параллельной обработки AI большого содержимого страницы документа. Поскольку это функция одноразового использования без подписи publi c, я собираю объекты для распространения и повторной агрегации. Задача обработки отдельной страницы - это успешное чтение аргументов и выполнение необходимой функции. Однако не удается вернуть результаты в очередь для последующей агрегации.
Кто-нибудь знает способ указать result_serializer для одной задачи, вызываемой через Chord?
генерация аккорда ---
callback = processPageResults.subtask(kwargs={'cdd_id' : cdoc.cdd_id,'user_id':user.id},options={'serializer':'pickle'})
res = chord([processPage.s(useBold,
docPages[i]).set(serializer='pickle') for i in range(0, len(docPages))], callback)()
вызываемая задача --- @shared_task (serializer = 'pickle', result_serializer = 'pickle', bind = True, max_retries = 20) def processPage (self, * args): useBold = args [0] page = args [1] page.processWords (useBold) вернуть страницу
ошибка ---
kombu.exceptions.EncodeError: Object of type DocumentPage is not JSON serializable