Bash y procesos concurrentes

Buenas, tengo un script bastante tocho y ...mmm.. y un tanto lento de ejecutar (no por el ordenador, sino porque son peticiones que realizo contra un servidor y encima a veces este servidor se "bloquea")

Había pensado en mejorarlo, para ello necesitaría algo de procesos concurrentes (un simple semáforo para hacer la sección critica me basta y me sobra) y algún "timer" para ver si la petición se ha bloqueado y relanzar la petición

Así que mi pregunta es si es posible hacer esto en bash o tendré que perder un día en rescribir el código en pyton ( y de paso aprender un poco sobre él, xdd)
A falta de que seas un poco mas preciso con lo que pretendes hacer, y de que aparezca alguien con mas conocimiento de las maravillas de Bash, puedes ejecutar en background el proceso de la peticion en si, quedarte con su PID, y monitorizar en un bucle si dicho proceso sigue ahi, y con el mismo PID que has guardado.

Sin duda habra soluciones mas elegantes XD
JanKusanagi escribió: puedes ejecutar en background el proceso de la peticion en si, quedarte con su PID, y monitorizar en un bucle si dicho proceso sigue ahi, y con el mismo PID que has guardado.

Sin duda habra soluciones mas elegantes XD


No había caído en ello, muy elegante no es pero funcionar me funcionaria, y bueno puedo replantear el problema de la sección critica de alguna otra manera, teniendo solo un script que accede a este y monitorizo si el resto de procesos han terminado de ejecutarse y lanzar nuevos.

Pero bueno, sino siempre es una buena excusa para aprender python
La respuesta razonable a tu pregunta es: "no quieres hacer eso en bash".

Yo la última vez que tuve que hacer algo similar, acabé aprendiendo ruby y reescribiendo esa parte del código. En menos de 24 horas estaba hecho.

- ferdy
3 respuestas