Comment faire de la programmation asynchrone appels de fonctions dans les scripts shell
J'ai une collection de curl commandes devant être exécutées par un script shell. Maintenant ce que je veux, c'est toutes ces commandes doivent être exécutées à un intervalle de temps régulier ( ce qui est différent pour chaque curl url ) donc ce que je veux faire est de faire des appels asynchrones à
wait [sec]
de commande et exécuter les différentes fonctions pour les différentes périodes d'attente comme
5 minuteries un pour 120s, 2 pour 30s, 3 pour 3000s etc.
et puis, dès qu'ils obtiennent terminées, j'ai envie de déclencher l'exécution de la fonction de gestionnaire attaché à chaque expiration.
Je peux le faire en javascript et nodejs facilement que la programmation événementielle de la langue. Mais j'ai peu de connaissances sur la création de scripts shell. Alors, comment puis-je mettre en œuvre cette ou hotto faire de tels appels asynchrones dans le script shell?
Je ne sais pas si je suis assez clair, ce que d'autres détails devrais-je mentionner si je ne suis pas?
OriginalL'auteur Harshit Laddha | 2014-06-09
Vous devez vous connecter pour publier un commentaire.
Quelque chose à expérimenter:
Et, de même, le
at
commande est utile si vous voulez exécuter la commande à un certain temps plutôt que dans un certain intervalle. Aussi minutes de la résolution. Nicron
, niat
nécessitenohup
, où vous voudrez si vous utilisez la solution de script j'ai fait allusion. Une solution de script sera tué par le signal HUP à la déconnexion, à moins commencé avecnohup
(ou désavoué avecdisown -h
ou similaire).Merci beaucoup, ils ont fait un travail pour mon but, le seul problème à l'avenir je pourrais avoir de trop nombreux processus assignées pour chaque délai d'attente, car je vais avoir beaucoup d'entre eux dans un avenir proche
Vous avez vu que j'ai raté l'esperluette en premier? Ne sera pas async w/o il.
Oui, bash ont tendance à produire des charges de processus. Puisque vous êtes dans le nœud et js (et peut-être coffeescript), vous pourriez peut-être envisager de le faire dans le nœud?
OriginalL'auteur Andreas Kalin