Este es el comando pegasus-monitord que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
pegasus-monitord: rastrea el progreso de un flujo de trabajo, información de minería
SINOPSIS
pegaso-monitord [--ayuda|-ayuda] [--verboso|-v]
[--ajustar|-a i] [--primer plano|-N]
[--no-demonio|-n] [--trabajo|-j estadotrabajo.log presentar]
[--Iniciar sesión|-l archivo de registro] [--conf propiedades presentar]
[--no recursivo] [--no-base de datos | --no hay eventos]
[--repetición|-r] [--no Notificaciones]
[--notificaciones-max max_notificaciones]
[--notificaciones-tiempo de espera tiempo de espera]
[--sim|-s milisueño] [--db-estadísticas]
[--saltar-stdout] [--fuerza|-f]
[--enchufe] [--salida-dir | -o dir]
[--destino|-d TRAYECTORIA or URL] [- codificación|-e bp | bson]
DAGMan salida presentar
DESCRIPCIÓN
Este programa sigue un flujo de trabajo, analizando la salida del archivo dagman.out de DAGMAN. En
además de generar el archivo jobstate.log, pegaso-monitord también se puede usar el mío
información del archivo dag de flujo de trabajo y los archivos de envío y salida de trabajos, y
poblar una base de datos o escribir un archivo de eventos NetLogger con esa información.
pegaso-monitord también puede realizar notificaciones al rastrear el progreso de un flujo de trabajo en
tiempo real.
OPCIONES
-h, --ayuda
Imprime un resumen de uso con todas las opciones de línea de comandos disponibles.
-v, --verboso
Establece el nivel de registro para pegaso-monitord. Si se omite, el valor predeterminado nivel se establecerá en
ADVERTENCIA. Cuando se da esta opción, el nivel de registro se cambia a INFO. Si esta opcion
se repite, el nivel de registro se cambiará a DEBUG.
El nivel de registro en pegaso-monitord También se puede ajustar de forma interactiva, enviando el
USR1 y USR2 señales al proceso, respectivamente para incrementar y decrementar
el nivel de registro.
-a i, --ajustar i
Para ajustar las diferencias de zona horaria mediante i segundos, el valor predeterminado es 0.
-N, --primer plano
No demonizar pegaso-monitord, siga los movimientos como si (Cóndor).
-n, --no-demonio
No demonizar pegaso-monitord, manténgalo en primer plano (para depurar).
-j estadotrabajo.log presentar, --trabajo estadotrabajo.log presentar
Ubicación alternativa para el estadotrabajo.log Archivo. El valor predeterminado es escribir un estadotrabajo.log
en el directorio de flujo de trabajo. Solo se debe usar un nombre de archivo absoluto si el flujo de trabajo
no tiene ningún subflujo de trabajo, ya que cada subflujo de trabajo generará su propio
estadotrabajo.log Archivo. Si se proporciona un nombre de archivo alternativo, no absoluto, con este
opción, pegaso-monitord creará un archivo en cada flujo de trabajo (y subflujo de trabajo)
directorio con el nombre de archivo proporcionado por el usuario con esta opción. Si un absoluto
se proporciona un nombre de archivo y se encuentran subflujos de trabajo, se imprimirá un mensaje de advertencia
y pegaso-monitord no rastreará ningún subflujo de trabajo.
--Iniciar sesión archivo de registro, --archivo de registro archivo de registro
Especifica una alternativa archivo de registro para usar en lugar del monitord.log archivo en el principal
directorio de flujo de trabajo. A diferencia del estadotrabajo.log archivo de arriba, pegaso-monitord
solo genera uno archivo de registro por ejecución (y no uno por flujo de trabajo y subflujo de trabajo
pistas).
--conf archivo_propiedades
es un archivo alternativo que contiene propiedades en el clave = valor formato y permite a los usuarios
para anular los valores leídos del volcado de cerebro.txt Archivo. Esta opción tiene prioridad sobre
el archivo de propiedades especificado en el volcado de cerebro.txt Archivo. Tenga en cuenta que estos
las propiedades se aplicarán no solo al flujo de trabajo principal, sino también a todos los subflujos de trabajo
Incluso cuando ambos padres biológicos vivían con el niño, los hogares casados eran más pacíficos que los que convivían, descubrió el Sr. Zill.
--no recursivo
Esta opción desactiva pegaso-monitord para seguir automáticamente cualquier subflujo de trabajo que
se encuentran.
--sin base de datos, --no-base de datos, --no hay eventos
Desactiva la generación de eventos (cuando se da esta opción, pegaso-monitord podría sólo
generar el archivo jobstate.log). El valor predeterminado es registrar automáticamente la información en un
Base de datos SQLite (consulte la --destino opción a continuación para obtener más detalles). Esta opción anula
cualquier parámetro dado por el --destino .
-r, --repetición
Esta opción se utiliza para reproducir la salida de un flujo de trabajo ya terminado. Debería
solo se utilizará una vez finalizado el flujo de trabajo (no necesariamente con éxito). Si un
estadotrabajo.log se encuentra el archivo, se rotará. Sin embargo, cuando se utiliza una base de datos, todos
las referencias anteriores a ese flujo de trabajo (y todos sus subflujos de trabajo) se borrarán de
eso. Cuando se envía a un archivo bp, el archivo se eliminará. Cuando se ejecuta en repetición
modo, pegaso-monitord siempre correrá con el --no-demonio opción y cualquier error
se enviará directamente al terminal. También, pegaso-monitord no procesará ninguno
notificaciones mientras está en modo de reproducción.
--no Notificaciones
Esta opción desactiva las notificaciones por completo, lo que pegaso-monitord ignorar todos los
.notificar archivos para todos los flujos de trabajo que rastrea.
--notificaciones-max max_notificaciones
Esta opción establece el número máximo de notificaciones simultáneas que pegaso-monitord
empezará. Cuando el max_notificaciones se alcanza el límite, pegaso-monitord hará cola
notificaciones y espere a que finalice un script de notificación pendiente antes de iniciar una
uno nuevo. Si max_notificaciones está configurado en 0, las notificaciones se desactivarán.
--notificaciones-tiempo de espera tiempo de espera
Normalmente, pegaso-monitord iniciará un script de notificación y esperará indefinidamente
para terminar. Esta opción permite a los usuarios configurar un máximo tiempo de espera que
pegaso-monitord esperará a que finalice un script de notificación antes de finalizarlo.
Si los scripts de notificación no terminan en un período de tiempo razonable, puede causar
otros scripts de notificación se pondrán en cola debido al número máximo de
scripts permitidos por pegaso-monitord. Además, hasta que todos los scripts de notificación
terminar, pegaso-monitord no terminará.
-s milisueño, --sim milisueño
Esta opción simula retrasos entre lecturas, durmiendo milisueño milisegundos. Esta
La opción es utilizada principalmente por desarrolladores.
--db-estadísticas
Esta opción hace que el módulo de la base de datos recopile e imprima estadísticas de la base de datos en el
final de la ejecución. No tiene ningún efecto si el --no-base de datos se da la opción.
--saltar-stdout
Esta opción provoca pegaso-monitord no rellenar stdout y stderr de trabajos en el
Archivo BP o la base de datos Stampede. Debe usarse para evitar aumentar la base de datos
tamaño sustancialmente en los casos en que los trabajos son muy detallados en su producción.
-f, --fuerza
Esta opción provoca pegaso-monitord para omitir la comprobación de otra instancia de sí mismo
ya se está ejecutando en el mismo directorio de flujo de trabajo. El comportamiento predeterminado evita dos o
Saber más pegaso-monitord instancias de iniciarse y ejecutarse simultáneamente (lo que
provocar que el archivo bp y la base de datos se dejen en un estado inestable). Esta opción debería
noly se utilizará cuando el usuario conozca la instancia anterior de pegaso-monitord is
corriendo más.
--enchufe
Esta opción provoca pegaso-monitord para iniciar una interfaz de socket que se puede utilizar para
depuración avanzada. El número de puerto para conectarse a pegaso-monitord puede encontrarse en
la monitord.sock archivo en el directorio de flujo de trabajo (el archivo se elimina cuando
pegaso-monitord acabados). Si aún no se ha iniciado, la interfaz del zócalo también
creado cuando pegaso-monitord recibe una USR1 señal.
-o dir, --salida-dir dir
Cuando se da esta opción, pegaso-monitord creará todos sus archivos de salida en el
directorio especificado por d. Esta opción es útil para permitir que un usuario depure un
flujo de trabajo en un directorio en el que el usuario no tiene permisos de escritura. En este caso, todos
archivos generados por pegaso-monitord tendrá el flujo de trabajo wf_uuid como prefijo para que
Los archivos de varios subflujos de trabajo se pueden colocar en el mismo directorio. Esta opcion es
utilizado principalmente por analizador de pegaso. Es importante tener en cuenta que la ubicación de la
El archivo de salida BP o la base de datos no se modifican con esta opción y deben configurarse a través del
--destino .
-d URL params, --destino URL params
Esta opción permite a los usuarios especificar el destino de los eventos de registro generados por
pegaso-monitord. Si se omite esta opción, pegaso-monitord creará un SQLite
base de datos en el directorio de ejecución del flujo de trabajo con el mismo nombre que el flujo de trabajo, pero con
a .estampida.db prefijo. Por un vacío esquema, params son una ruta de archivo con - sentido
salida estándar. Para x-tcp esquema, params están TCP_host [: puerto = 14380]. Para una base de datos
esquema, params son un SQLAlchemy motor URL con una cadena de conexión a la base de datos que puede
ser utilizado para especificar diferentes motores de base de datos. Consulte la sección de ejemplos a continuación.
para obtener más información sobre cómo utilizar esta opción. Tenga en cuenta que al utilizar un motor de base de datos
que no sea sqlite, será necesario instalar los controladores de la base de datos de Python necesarios.
-e codificación, - codificación codificación
Esta opción especifica cómo codificar los eventos de registro. Las dos posibilidades disponibles son bp
y bson. Si no se especifica esta opción, los eventos se generarán en el bp formato.
DAGMan_archivo_de_salida
La característica DAGMan_archivo_de_salida es el único argumento de línea de comandos requerido en pegaso-monitord
y debe tener el .dag.dagman.fuera extensión.
DEVOLUCION VALOR
Si el plan se pudiera construir, pegaso-monitord regresa con un código de salida de 0.
Sin embargo, en caso de error, un código de salida distinto de cero indica problemas. En ese caso, el
archivo de registro debe contener información adicional sobre la condición de error.
MEDIO AMBIENTE VARIABLES
pegaso-monitord no requiere que se establezcan variables ambientales. Localiza su
los módulos de Python requeridos en función de su propia ubicación y, por lo tanto, no deben moverse
fuera del directorio bin de Pegasus.
EJEMPLOS
Generalmente, pegaso-monitord es invocado automáticamente por carrera-pegaso y rastrea el flujo de trabajo
progreso en tiempo real, produciendo el estadotrabajo.log archivo y un SQLite correspondiente
base de datos. Cuando falla un flujo de trabajo y se vuelve a enviar con un DAG de rescate, pegaso-monitord
retomará automáticamente desde donde lo dejó anteriormente y continuará el estadotrabajo.log
archivo y la base de datos.
Si los usuarios necesitan crear el estadotrabajo.log archivo después de que un flujo de trabajo ya ha finalizado, el
--repetición | -r La opción debe usarse cuando se ejecuta pegaso-monitord a mano. Por ejemplo:
$ pegasus_monitord -r diamante-0.dag.dagman.out
pondrá en marcha pegaso-monitord en modo de repetición. En este caso, si un estadotrabajo.log archivar ya
existe, se rotará y se creará un nuevo archivo. Si un diamante-0.stampede.db
La base de datos SQLite ya existe, pegaso-monitord purgará todas las referencias al flujo de trabajo
id especificado en el volcado de cerebro.txt archivo, incluidos todos los subflujos de trabajo asociados con ese
ID de flujo de trabajo.
$ pegasus_monitord -r --no-base de datos diamante-0.dag.dagman.out
hará lo mismo, pero sin generar ningún evento de registro.
$ pegasus_monitord -r --dest `pwd` / diamond-0.bp diamond-0.dag.dagman.out
creará el archivo diamante-0.bp en el directorio actual, que contiene eventos de NetLogger
con todos los datos del flujo de trabajo. Esto se suma al estadotrabajo.log .
Para usar una base de datos, los usuarios deben proporcionar una cadena de conexión a la base de datos en el formato de:
dialecto: // nombre de usuario: contraseña @ host: puerto / base de datos
¿Dónde? dialecto es el nombre del controlador subyacente (mysql, sqlite, oráculo, Postgres) y
base de datos de CRISPR Medicine News es el nombre de la base de datos que se ejecuta en el servidor en el host ordenador.
Si los usuarios quieren utilizar una SQLite base de datos, pegaso-monitord les exige que
especifique la ruta absoluta del archivo alternativo. Por ejemplo:
$ pegasus_monitord -r --dest sqlite: ////home/user/diamond_database.db diamond-0.dag.dagman.out
Aquí hay documentos con detalles de todos los controladores compatibles:
http://www.sqlalchemy.org/docs/05/reference/dialects/index.html
Allí se describen las opciones adicionales por base de datos que funcionan en las cadenas de conexión.
Es importante tener en cuenta que se necesitará tener la biblioteca de interfaz de base de datos adecuada
instalado. Que es decir, SQLAlchemy es un envoltorio de la biblioteca de la interfaz mysql
(por ejemplo), no proporciona un MySQL el propio conductor. El Pegasus
incluye ambos SQLAlchemy y SQLite Controlador de Python.
Como nota final, es importante mencionar que a diferencia de cuando se usa SQLite bases de datos, usando
SQLAlchemy con otros servidores de bases de datos, p. ej. MySQL or Postgres, la base de datos de destino necesita
existir. Entonces, si un usuario desea conectarse a:
mysql: // usuario-pegasus: supersecret @ localhost: localport / diamond
primero tendría que conectarse al servidor en localhost y emitir la creación adecuada
comando de base de datos antes de ejecutar pegaso-monitord as SQLAlchemy se encargará de crear
las tablas y los índices si aún no existen.
Use pegasus-monitord en línea usando los servicios de onworks.net