2010-06-24 7 views
12

Asumiendo que soy un gran novato de Unix, - Estoy ejecutando una solicitud curl a través de cron cada 15 minutos. - Curl básicamente se utiliza para cargar una página web (php) que dado algunos argumentos, actúa como una secuencia de comandos como:¿Cómo se ejecutan varias solicitudes curl, procesadas secuencialmente?

curl http://mysite.com/?update_=1

Lo que me gustaría lograr es para ejecutar otro "guión" que utiliza este rizo técnica, - cada vez que el otro script se ejecuta - antes que el otro script se ejecuta

he leído que acepta rizo varias direcciones URL en un comando, pero no estoy seguro si esto sería procesar los ULRs secuencialmente o en "paralelo ".

Respuesta

22

Sería más probable proceso de forma secuencial (¿por qué no probarlo). Pero también se puede hacer esto:

1) hacer un archivo llamado curlrequests.sh 2) ponerlo en un archivo como así:

curl http://mysite.com/?update_=1 
curl http://mysite.com/?update_=3 
curl http://mysite.com/?update_=234 
curl http://mysite.com/?update_=65 

3) guardar el archivo y hacerlo ejecutable con chmod:

chmod +x curlrequests.sh 

4) ejecutar el archivo:

./curlrequests.sh 

o

/path/to/file/curlrequests.sh 

Como nota al margen, puede solicitudes de cadena con & &, así:

curl http://mysite.com/?update_=1 && curl http://mysite.com/?update_=2 && curl http://mysite.com/?update_=3 

y ejecutar en paralelo utilizando &:

curl http://mysite.com/?update_=1 & curl http://mysite.com/?update_=2 & curl http://mysite.com/?update_=3 
+0

Timoty, será encadenado como rizo rizo http://mysite.com/?update_=1 && && http://mysite.com/?update_=2 ...... ejecutar secuencialmente? – Riccardo

+0

Sí, en la mayoría de los casos lo harán, pero si uno de ellos terminara con error (valor de retorno distinto de 0), no se ejecutará lo siguiente. – mbq

+0

eso es perfecto para mí. ¡Gracias! – Riccardo

1

escribir un guión con dos solicitudes de enrollamiento en el orden deseado y ejecutarlo por cron, como

#!/bin/bash 
curl http://mysite.com/?update_=1 
curl http://mysite.com/?the_other_thing 
0

Creo que este utiliza las capacidades más nativos

//printing the links to a file 
$ echo "https://stackoverflow.com/questions/3110444/ 
https://stackoverflow.com/questions/8445445/ 
https://stackoverflow.com/questions/4875446/" > links_file.txt 


$ xargs curl < links_file.txt 

¡Disfrútalo!

solicitudes
Cuestiones relacionadas