Así que tengo un pequeño script bash:
for store in {4..80} do for page in {1..200} do curl 'https://website.com/shop.php?store_id='$store'&page='$page'&PHPSESSID=sessionID' -O done doneEl script funciona, pero descarga las 200 páginas de todas las tiendas de 4 a 80 una tras otra, lo que lleva mucho tiempo. (Observe la tienda y la página de la variable bash en la URL curl)
Mi objetivo sería ejecutar tantas solicitudes de curl simultáneamente para cada tienda/página en lugar de hacer que funcione una tras otra, para ahorrar tiempo.
es posible?
curl puede ejecutar bucles por sí mismo. Esto limita curl a 100 sesiones simultáneas:
curl 'https://website.com/shop.php?store_id=[4-80]&page=[1-200]&PHPSESSID=sessionID' -O --parallel --parallel-max 100Intenta cambiar tu script de la siguiente manera:
for store in {4..80}; do for page in {1..200}; do curl 'https://website.com/shop.php?store_id='$store'&page='$page'&PHPSESSID=sessionID' -O & done done # Wait for spawned cURLs... wait