Skip to content

Commit 537f825

Browse files
authored
fix: do not block event loop for read_part on async coroutine in multipart upload (#19)
1 parent ff0f83f commit 537f825

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/mixedbread/lib/multipart_upload.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ async def multipart_create_async(
251251
options: MultipartUploadOptions,
252252
) -> FileObject:
253253
"""Perform a multipart upload asynchronously."""
254-
resolved = _resolve_file_input(file)
254+
resolved = await asyncio.to_thread(_resolve_file_input, file)
255255
part_count = max(1, math.ceil(resolved.file_size / options.part_size))
256256

257257
# Step 1: Initiate the multipart upload
@@ -271,7 +271,7 @@ async def multipart_create_async(
271271

272272
async def _do_upload(part_url: Any) -> MultipartUploadPartParam:
273273
async with semaphore:
274-
part_data = _read_part(resolved, part_url.part_number, options.part_size)
274+
part_data = await asyncio.to_thread(_read_part, resolved, part_url.part_number, options.part_size)
275275
etag = await _async_upload_single_part(part_url.url, part_data, http_client)
276276

277277
if options.on_part_upload:

0 commit comments

Comments
 (0)