Esegui l'Utilità di pianificazione senza aprire una nuova istanza JMPSto cercando di eseguire uno script JSL che aggiorna varie tabelle di dati ogni 3 ore utilizzando l'Utilità di pianificazione di Windows.Sfortunatamente, ogni volta che viene eseguito JSL, viene aperta una nuova istanza di JMP invece di utilizzare quella esistente già aperta.C'è un trucco per completare questa automazione delle attività senza che venga aperta una nuova istanza di JMP ogni volta che l'Utilità di pianificazione chiama il file JSL?
ScriptingRe: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPPotresti voler esaminare la funzione Schedule() in JMP.Viene eseguito in una determinata sessione JMP e riesegue il codice nella stessa sessione.
Re: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPUn paio di opzioni.
1. Perché non lasciarlo aprire una nuova istanza, quindi chiuderla alla fine dello script JMP?
2. metti `//!` all'inizio dello script e aprilo.Dovrebbe aprirsi nella versione attualmente registrata di jmp ed eseguire automaticamente.
3. salva il .jsl come .jrp e dovrebbe fare la stessa cosa di 2.
Personalmente preferisco cose non interattive come questa da fare 1 perché poi posso confermare che JMP si è chiuso in modo appropriato in PowerShell in modo da poter dare migliori messaggi di errore della console.
Re: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPDarò un'occhiata a Jim e vedrò se funziona meglio dell'Utilità di pianificazione.
Re: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPDesidero che il processo venga eseguito nell'istanza esistente in modo da poter tracciare/valutare periodicamente i dati raccolti di recente senza dover aprire JMP ogni volta.
Stavo già utilizzando l'opzione 2, ma questa e l'opzione 3 aprono sempre una nuova istanza di JMP anziché eseguirla all'interno dell'istanza già aperta.Se esegui più volte il seguente script, viene eseguito all'interno dell'istanza corrente di JMP o apre anche una nuova istanza per ogni esecuzione? Curioso se hai un comportamento diverso dal mio.
//!
Pulisci il registro();
Stampa ("Ciao mondo");
Re: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPOh, è probabile perché il tuo registro è stato incasinato. Perché funziona benissimo per me.Lo fa anche se apri una tabella di dati JMP?Su Windows?
Risposta Rubato da qui
Credo che tu possa correggere questo con quanto segue.
- Esci da tutte le sessioni JMP in esecuzione
- Esegui la versione JMP che desideri utilizzare come versione JMP predefinita (se ti capita di avere più versioni JMP installate sul tuo computer)
- Vai su File--> Preferenze--> Specifico di Windows, quindi fai clic sul pulsante Ripristina associazioni nella parte inferiore della finestra di dialogo
Ciò dovrebbe correggere il registro di Windows per associare la sessione JMP corrente ai file JMP.
Ora prova a fare doppio clic sui tuoi file e vedi se si comporta come previsto.
Facci sapere se questo risolve il problema.
-Jeff
Re: eseguire l'Utilità di pianificazione senza aprire una nuova istanza JMPJeff,
Grazie per i suggerimenti.Sfortunatamente, i passaggi consigliati non hanno risolto il problema.È interessante notare che un'altra mia macchina che esegue JMP e JMP Pro non ha lo stesso problema.Sulla macchina in cui si sta verificando il problema (di recente ho aggiornato da JMP 15 a 16) ho provato i passaggi che hai fornito e ho ancora lo stesso problema in cui vengono aperte più istanze ad ogni doppio clic su un file JSL.Sono arrivato al punto di disinstallare tutte le versioni di JMP, riavviare il computer e reinstallare solo su JMP 16, ma continuo ad avere una nuova istanza di JMP aperta ad ogni avvio di un file JSL (eseguendo lo script Hello World mostrato sopra e un altro script che apre una tabella di dati).Altre idee su come risolvere questo problema?