Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPJ'essaie d'exécuter un script JSL qui met à jour diverses tables de données toutes les 3 heures à l'aide du Planificateur de tâches Windows.Malheureusement, chaque fois que le JSL est exécuté, il ouvre une nouvelle instance de JMP au lieu d'utiliser celle existante déjà ouverte.Existe-t-il une astuce pour réaliser cette automatisation de tâches sans qu'une nouvelle instance de JMP ne soit ouverte à chaque fois que le Planificateur de tâches appelle le fichier JSL ?
Automatisation et scriptsRe : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPMerci pour la suggestion intrigante et très utile.Bien que je n'aie eu aucun problème avec la façon dont j'utilise le fichier de données unique, je vois certainement où votre suggestion d'une copie "interactive" du fichier de données présenterait certains avantages.
Concernant les multiples instances de problème JMP, dans mon cas, le problème n'a été résolu que lorsque j'ai défini le(s) type(s) de fichier à ouvrir avec un programme spécifique via le panneau de configuration Windows et comme indiqué ci-dessous dans la note de programme 52261.

Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPUne option supplémentaire consiste à séparer l’obtention des données de leur visualisation.Laissez le script du planificateur de tâches ouvrir une nouvelle copie de JMP à chaque fois et mettre à jour une table de données sur votre ordinateur quelque part. Ensuite, dans votre copie « interactive » de JMP, incluez un script pour actualiser périodiquement à partir du fichier enregistré par l'autre script.Cela tend à offrir une meilleure expérience utilisateur, car tout retard dans la connexion aux données source n'entraîne pas le blocage ou le retard de JMP lors de l'interaction avec un graphique.
Quant à l'ouverture des fichiers jsl dans la même instance de JMP, je vous recommande de contacter le support JMP pour résoudre ce problème.
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPJeff,
Merci pour les suggestions.Malheureusement, les étapes recommandées n'ont pas résolu le problème.Fait intéressant, une autre de mes machines qui exécute JMP et JMP Pro n'a pas le même problème.Sur la machine sur laquelle le problème se produit actuellement (j'ai récemment mis à jour JMP 15 vers 16), j'ai essayé les étapes que vous avez fournies et j'ai toujours le même problème où plusieurs instances sont ouvertes à chaque double-clic sur un fichier JSL.Je suis allé jusqu'à désinstaller toutes les versions de JMP, redémarrer l'ordinateur et réinstaller uniquement JMP 16, mais je continue à avoir une nouvelle instance de JMP ouverte à chaque lancement d'un fichier JSL (exécutant le script Hello World illustré ci-dessus ainsi qu'un autre script qui ouvre une table de données).Avez-vous d'autres idées sur la façon de résoudre ce problème ?
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPOh, c'est probablement parce que votre registre a été perturbé. Parce que ça fonctionne très bien pour moi.Est-ce que cela se produit même si vous ouvrez une table de données JMP ?Sous Windows ?
Réponse Volée d'ici
Je pense que vous pouvez corriger cela avec ce qui suit.
- Quitter toutes les sessions JMP en cours d'exécution
- Exécutez la version JMP que vous souhaitez utiliser comme version JMP par défaut (si plusieurs versions JMP sont installées sur votre ordinateur)
- Accédez à Fichier-->Préférences-->Spécifiques à Windows, puis cliquez sur le bouton Réinitialiser les associations en bas de la fenêtre de dialogue.
Cela devrait corriger le registre Windows pour associer la session JMP actuelle aux fichiers JMP.
Essayez maintenant de double-cliquer sur vos fichiers et voyez s'ils se comportent comme prévu.
Faites-nous savoir si cela résout le problème.
-Jeff
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPJe souhaite que le processus soit exécuté dans l'instance existante afin de pouvoir tracer/évaluer périodiquement les données récemment collectées sans avoir à ouvrir JMP à chaque fois.
J'utilisais déjà l'option 2, mais elle et l'option 3 ouvrent toujours une nouvelle instance de JMP plutôt que de l'exécuter dans l'instance déjà ouverte.Si vous exécutez le script suivant plusieurs fois, s'exécute-t-il dans l'instance actuelle de JMP ou ouvre-t-il également une nouvelle instance pour chaque exécution ? Curieux de savoir si vous avez un comportement différent du mien.
//!
Effacer le journal ();
Imprimer ("Bonjour tout le monde");
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPJe vais jeter un œil à Jim et voir si cela fonctionne mieux que le planificateur de tâches.
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPQuelques options.
1. Pourquoi ne pas simplement le laisser ouvrir une nouvelle instance, puis la fermer à la fin du script JMP ?
2. mettez `//!` au début du script et ouvrez-le simplement.Il devrait s'ouvrir dans votre version actuellement enregistrée de jmp et s'exécuter automatiquement.
3. enregistrez le .jsl en tant que .jrp et il devrait faire la même chose que 2.
Personnellement, je préfère faire des choses non interactives comme celle-ci 1, car je peux alors confirmer que JMP s'est fermé de manière appropriée dans PowerShell afin de pouvoir donner de meilleurs messages d'erreur de la console.
Re : Exécuter le Planificateur de tâches sans ouvrir une nouvelle instance JMPVous voudrez peut-être examiner la fonction Schedule() dans JMP.Il s'exécute dans une session JMP donnée et réexécute le code dans la même session.