⚡ Optimize marketplace publish endpoint blocking I/O#83
Conversation
- Replaced blocking synchronous calls with `run_in_threadpool` wrapper. - Replaced usage of non-existent `Bundle.from_file` method with `inspect_bundle` in `publish_bundle`. - Verified performance improvement with a reproduction script showing reduced latency for concurrent requests. Co-authored-by: miethe <6800980+miethe@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
This PR optimizes the
POST /marketplace/publishendpoint by offloading blocking synchronous I/O operations (bundle inspection and network upload) to a thread pool. This prevents the FastAPI event loop from being blocked during long-running publish operations.Additionally, it fixes a critical bug in the endpoint where
Bundle.from_filewas called, but the method does not exist on theBundleclass. This was replaced withinspect_bundlefromskillmeat.core.sharing.builder.Note: Similar issues exist in
install_listingendpoint but were left out of scope for this performance optimization task as requested by review.Performance Impact:
PR created automatically by Jules for task 14314164383027981063 started by @miethe