Monorepo management for opam overlays
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add concurrency limit of 4 to sync fetch operations

Limits parallel network operations to avoid overwhelming remotes:
- Push to checkouts: max 4 concurrent
- Fetch from remotes: max 4 concurrent
- Fetch verse remotes: max 4 concurrent

Remote push was already limited to 2 concurrent operations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+3 -3
+3 -3
lib/monopam.ml
··· 1284 1284 end 1285 1285 else begin 1286 1286 Log.app (fun m -> m " Pushing monorepo changes to checkouts (parallel)..."); 1287 - Eio.Fiber.List.map (fun pkg -> 1287 + Eio.Fiber.List.map ~max_fibers:4 (fun pkg -> 1288 1288 let repo_name = Package.repo_name pkg in 1289 1289 Log.info (fun m -> m "Push to checkout: %s" repo_name); 1290 1290 match push_one ~proc ~fs ~config pkg with ··· 1308 1308 else begin 1309 1309 (* Step 3: Fetch phase - clone/fetch from remotes (PARALLEL) *) 1310 1310 Log.app (fun m -> m " Fetching from remotes (parallel)..."); 1311 - let fetch_results = Eio.Fiber.List.map (fun pkg -> 1311 + let fetch_results = Eio.Fiber.List.map ~max_fibers:4 (fun pkg -> 1312 1312 let repo_name = Package.repo_name pkg in 1313 1313 (* First ensure checkout exists *) 1314 1314 match ensure_checkout_safe ~proc ~fs:fs_t ~config pkg with ··· 1380 1380 sync_verse_remotes ~proc ~fs:fs_t ~config ~verse_config repos; 1381 1381 (* Fetch from verse remotes in parallel *) 1382 1382 Log.app (fun m -> m " Fetching from verse remotes..."); 1383 - Eio.Fiber.List.iter (fun pkg -> 1383 + Eio.Fiber.List.iter ~max_fibers:4 (fun pkg -> 1384 1384 fetch_verse_remotes ~proc ~fs:fs_t ~config pkg) 1385 1385 repos); 1386 1386