Bonjour à tous,
Je dois réaliser une application dont le principe est d'exécuter un séquencement de scripts python mais aussi de forwarder des messages vers les web services appropriés. Tout ceci doit être supervisable via une interface.
En fait, j'ai un web service rest qui doit lors de son invocation exécuter la séquence qui est déterminé dans l'url.
On doit pouvoir aussi la piloter via l'url, notamment mettre start dans l'url pour commencer, stop pour l'arrêter etc...
Pour ceci, j'ai pensé du coup lancer un thread qui va m'exécuter l'ensemble de mes scripts mais du coup il faut pouvoir garder une instance du thread et pouvoir lui injecter des informations suivant les commandes qu'on veut lui faire faire. Mais un soucis, c'est que ce thread doit posséder toute l'intelligence, donc il doit être capable de rejeter une demande d'exécution alros que la séquence est déjà en cours.
De plus, on doit pouvoir contrôler l'enchainement des étapes (donc des différents scripts), si une étape est en erreur, on doit le dire quelque part pour que plus tard dans l'interface visuelle, on ait des traces.
Pour cela, peut être utilisé un thread qui visualise l'ensemble des exécutions mais je ne vois pas comment faire. :/
Maintenant, autre chose, on rentre dans le transactionnel.
On peut définir une étape, non pas comme un script mais comme un forward d'une requête post que je récupère via mon service.
Donc je devrais récupérer mon thread qui est en cours d'exécution pour lui passer peut etre dans une file un message ( encore là, je ne vois pas comment passer des infos à un thread en exéction).
Dans le cas où je reçois un message, mon web service le transmet à mon thread, c'est celui-ci qui doit s'occuper de lui.
Le thread, si il est en cours d'exécution sur un script, alors le thread attend que le script ait fini et il traite le message.
Si on arrive sur un foward alors que je n'ai aucun message réceptionné, je dois attendre jusqu'à la réception de ce message.
Bien sur la réponse du forward doit être renvoyé au client, et là je sèche totalement.
Voilà, j'ai vraiment besoin d'être éclairé sur tout ceci.
Merci.
Partager