Demande d'arrière-plan HTTPSalut,
J'essaie d'utiliser la fonction HTTP Request mais cela peut souvent prendre un certain temps pour renvoyer les données que je demande.Je me demande s'il est possible d'envoyer une requête HTTP en arrière-plan, puis de continuer avec le script.Plus tard, lorsque les données sont nécessaires, je peux vérifier si elles sont renvoyées, puis continuer ou attendre qu'elles soient renvoyées.Si cela est possible, je pourrais paralléliser plusieurs requêtes nécessaires au lieu de les exécuter en série.
Merci pour votre aide
ScriptRe : Demande d'arrière-plan HTTPSalutations, je peux signaler que des travaux ont été effectués dans ce domaine au cours de la période JMP 17. Plusieurs requêtes HTTP peuvent désormais être envoyées sous la forme d'une nouvelle fonction nommée New Multi HTTP Request(). JMP 17 sera généralement disponible à l'automne 2022. Si vous avez accès au programme Early Adopter, vous pouvez l'essayer maintenant.
Re : Demande d'arrière-plan HTTPJMP peut-il exécuter JMP ?
La planification ne s'exécute qu'au premier plan, lorsque JMP est inactif (ou que wait() est appelé à partir d'un script en cours d'exécution.)
Re : Demande d'arrière-plan HTTPJe n'ai jamais essayé cela moi-même mais JSL a une commande "Schedule()" qui peut créer un thread indépendant. Cependant, vous ne pouvez pas créer plus d'un thread. Ainsi, dans votre cas, la requête HTTP peut être envoyée à ce thread, mais elle s'exécutera toujours en série.
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/scheduling-actions.shtml
Mise à jour : Voir la réponse de Craig Hales ci-dessous. Apparemment, les commandes planifiées de cette manière ne s'exécutent que lorsque JMP est inactif et que les commandes s'exécutent toujours au premier plan. Je n'avais pas de bon exemple pour prototyper quelque chose avant de répondre. Désolé si j'ai causé de la confusion.
Une autre approche pourrait consister à exécuter plusieurs instances de JMP à l'aide de la commande "Exécuter le programme()". Je pense que ceux-ci peuvent être exécutés sans attendre que le programme externe ait fini de s'exécuter. J'ai essayé cela avant mais jamais pour le multi-threading. Tu viens de me donner une idée que j'ai envie d'essayer maintenant !
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/run-external-programs.shtml
https://www.jmp.com/support/help/en/15.2/index.shtml#page/jmp/utility-functions.shtml#ww4547957
Update2 : Voir également le blog de Craig Hales sur cette idée. Merci beaucoup Craig! https://community.jmp.com/t5/Uncharted/Can-JMP-run-JMP/ba-p/283748
Je ne pense pas que ces solutions soient idéales, mais elles amélioreront probablement le temps d'exécution de votre script. Le premier est plus facile à mettre en œuvre, le second nécessitera une réarchitecture de votre code et vous devrez gérer le démarrage et l'arrêt de JMP.