Django - процессы импорта нарушаются, если настроено несколько бэкендов S3

У меня есть процесс импорта, который должен получить несколько бэкендов S3 для объектов. На самом деле процесс работает нормально, если у меня настроен только один бэкенд S3. Как только у меня настроено несколько бэкендов S3 для получения данных, весь процесс импорта терпит неудачу, поскольку в таблицу "Files" не записываются записи. Я упаковал процесс импорта как задачу celery, см. ниже:

@app.task(name="Fetch Descriptor JSON", base=Singleton)
@transaction.atomic
def fetch_descriptors(*args, **kwargs):
    keys = []
    urls = []
    for resource in S3Backend.objects.filter(backend_type=0):
        endpoint = resource.endpoint
        bucket = resource.bucket
        access_key = resource.access_key
        secret_key = resource.secret_key
        region = resource.region
        for obj in s3_get_resource(endpoint=endpoint, access_key=access_key, secret_key=secret_key, region=region).Bucket(bucket).objects.all():
            keys.append(obj.key)
        for key in keys:
            descriptor = s3_get_client(endpoint=endpoint, access_key=access_key, secret_key=secret_key, region=region).generate_presigned_url(
                ClientMethod='get_object',
                Params={'Bucket': bucket, 'Key': key},
                ExpiresIn=432000,
            )
            new_file, create = Files.objects.get_or_create(descriptor=strip_descriptor_url_scheme(descriptor),
                                                           file_path=key,
                                                           file_name=Path(key).name,
                                                           s3_backend=resource
                                                           )
            urls.append(descriptor)
        workflow_extract_descriptors = (
            group([extract_descriptors.s(descriptor) for descriptor in urls]).apply_async()
        )

Есть ли какие-либо проблемы с моей конструкцией цикла for if

S3Backend.objects.filter(backend_type=0)

возвращает более одной записи?

Заранее спасибо

Вернуться на верх