Ejecute el Programador de tareas sin abrir una nueva instancia JMPEstoy intentando ejecutar un script JSL que actualiza varias tablas de datos cada 3 horas mediante el Programador de tareas de Windows.Desafortunadamente, cada vez que se ejecuta JSL, se abre una nueva instancia de JMP en lugar de utilizar la existente que ya está abierta.¿Existe algún truco para completar esta automatización de tareas sin que se abra una nueva instancia de JMP cada vez que el Programador de tareas llama al archivo JSL?
Automatización y secuencias de comandosRe: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPGracias por la sugerencia intrigante y muy útil.Aunque no he tenido ningún problema con la forma en que he estado usando el archivo de datos único, definitivamente veo que su sugerencia de una copia "interactiva" del archivo de datos tendría algunas ventajas.
Con respecto a las múltiples instancias del problema JMP, en mi caso el problema solo se resolvió cuando configuré los tipos de archivo para abrir con un programa específico a través del panel de control de Windows y como se muestra a continuación en la Nota de programa 52261.

Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPUna opción adicional es separar la obtención de datos de su visualización.Deje que el script del programador de tareas abra una nueva copia de JMP cada vez y actualice una tabla de datos en algún lugar de su computadora. Luego, en su copia "interactiva" de JMP, incluya una secuencia de comandos para actualizar periódicamente desde el archivo guardado por la otra secuencia de comandos.Esto tiende a brindar una mejor experiencia de usuario porque cualquier retraso en la conexión a los datos de origen no provoca que JMP cuelgue o se retrase al interactuar con un gráfico.
En cuanto a cómo abrir archivos jsl en la misma instancia de JMP, recomiendo comunicarse con el soporte de JMP para resolver ese problema.
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPJeff,
Gracias por las sugerencias.Lamentablemente, los pasos recomendados no corrigieron el problema.Curiosamente, otra máquina mía que ejecuta JMP y JMP Pro no tiene el mismo problema.En la máquina donde ocurre el problema (recientemente actualicé de JMP 15 a 16), probé los pasos que proporcionó y sigo teniendo el mismo problema donde se abren varias instancias con cada doble clic en un archivo JSL.Llegué a desinstalar todas las versiones de JMP, reinicié la computadora y reinstalé solo JMP 16, pero sigo teniendo una nueva instancia de JMP abierta con cada inicio de un archivo JSL (ejecutando el script Hello World que se muestra arriba, así como otro). script que abre una tabla de datos).¿Alguna otra idea sobre cómo resolver esto?
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPOh, eso probablemente se deba a que su registro se estropeó. Porque a mí me funciona genial.¿Hace eso incluso si abre una tabla de datos JMP?¿En Windows?
Respuesta robada de aquí
Creo que puedes corregir esto con lo siguiente.
- Salir de todas las sesiones JMP que se estén ejecutando
- Ejecute la versión de JMP que desea utilizar como versión JMP predeterminada (si tiene varias versiones de JMP instaladas en su máquina)
- Vaya a Archivo-->Preferencias-->Específico de Windows, luego haga clic en el botón Restablecer asociaciones cerca de la parte inferior de la ventana de diálogo
Eso debería arreglar el Registro de Windows para asociar la sesión JMP actual con archivos JMP.
Ahora intente hacer doble clic en sus archivos y vea si se comporta como se esperaba.
Háganos saber si eso lo soluciona.
-Jeff
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPQuiero que el proceso se ejecute en la instancia existente para poder trazar/evaluar periódicamente los datos recopilados recientemente sin tener que abrir JMP cada vez.
Ya había estado usando la Opción 2, pero ésta y la Opción 3 siempre abren una nueva instancia de JMP en lugar de ejecutarla dentro de la instancia ya abierta.Si ejecuta el siguiente script varias veces, ¿se ejecuta dentro de la instancia actual de JMP o también abre una nueva instancia para cada ejecución? Es curioso si obtienes un comportamiento diferente al mío.
//!
Borrar registro();
Imprimir ("Hola mundo");
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPEcharé un vistazo, Jim, y veré si esto funciona mejor que el Programador de tareas.
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPUn par de opciones.
1. ¿Por qué no dejar que abra una nueva instancia y luego cerrarla al final del script JMP?
2. ponga `//!` al principio del script y simplemente ábralo.Debería abrirse en su versión actualmente registrada de jmp y ejecutarse automáticamente.
3. guarde el .jsl como .jrp y debería hacer lo mismo que 2.
Personalmente, prefiero hacer cosas no interactivas como esta para hacer 1 porque así puedo confirmar que JMP se cerró correctamente en PowerShell para poder dar mejores mensajes de error de la consola.
Re: Ejecutar el Programador de tareas sin abrir una nueva instancia JMPEs posible que desee consultar la función Schedule() en JMP.Se ejecuta en una sesión JMP determinada y vuelve a ejecutar el código en la misma sesión.