domingo, 25 de junio de 2023

Comando parallel

En mi trabajo actual usamos muchas API's por lo cual es comun que tenga que validar muchos recursos con diferentes Id's, cuando estamos hablando de mas de miles ejecutar estos Curls en serie puede tomar un tiempo considerable, es aqui cuando parallel me ahorra mucho tiempo.

Por lo general genero un archivo CSV con todos los Id's que tengo que consultar:

>> cat data.csv 
Id_1
Id_2
Id_3
Id_4

Y por lo general tengo algun bash script que ejecuta una acción por cada Id:

>> cat run.sh 
#!/bin/bash
curl -XGET "https://some_api.com/resource/$1"

Con esto en mente puedo ejectar en paralelo todos los GET's:

>> parallel -a data.csv ./run.sh

Si queres controlar el numero de hilos de ejecución se hace pasando el parametro "-j", por ejemplo si quiero ejecutar en 4 hilos:

 >> parallel -j 4 -a data.csv ./run.sh

Comando parallel En mi trabajo actual usamos muchas API's por lo cual es comun que tenga que validar muchos recursos con diferentes Id&#...