para ejecutar un mismo script varias veces, actualmente uso ;
Por ejemplo, voy a ejecutar algo como esto
node RocketLaunch.js;node RocketLaunch.js;node RocketLaunch.js
Esto funciona muy bien y ejecuta mi script 3 veces seguidas. Me pregunto si hay una manera fácil de ejecutar estos 3 con un intervalo de 1 hora.
Editar : gracias por las respuestas, soy nuevo en el aprendizaje de la programación, así que discúlpeme por publicar esto en JS, ya que parece una pregunta que no es de JS.
Más información : la forma en que quiero usarlo, ejecute este script cada 1 hora, digamos 20 horas/veces. Todo el trabajo toma alrededor de 5 minutos después de ejecutar el script y quiero que se ejecute cada hora y haga ese trabajo de 5 minutos.
Entonces, tal vez ejecute un comando en el nivel Bash, donde puedo escribirlo 20 veces con un retraso de una hora. Funciona cada hora durante 20 horas, luego puedo hacer todo de nuevo.
Así es como suelo hacer esto en bash:
for x in {1..3}; do node RocketLaunch.js sleep 3600 done El {1..3} le dice al bucle for que haga esto 3 veces, y la función de suspensión toma la cantidad de segundos como argumento. (3600 = 60 segundos * 60 minutos)
Aquí está la respuesta actualizada a su pregunta.
Ahora simplemente ejecute node RocketLaunch.js 1 20 Este es el comando para indicarle al script que se ejecute cada 1 hora durante las próximas 20 horas.
const rockets = { launched: () => { //your job console.log("I'm A Rocket"); } }; var arg = process.argv; const times = Number(arg.slice(2)[1]); const hours = Number(arg.slice(2)[0]) * 3600000; // to make the hour; function launch() { var x = 1 //kick off rockets at script start rockets.launched(); timer = setInterval(() => { rockets.launched(); x++ if (x === times) { clearInterval(timer); } }, hours) //1000 ms = 1 second } launch();