Luego de haberle indicado a HTCondor el job que debia ejecutar en el cluster, es deseable tener información sobre el estado del mismo para así tomar decisiones.
EL monitoreo consiste en obtener con frecuencia, la información acerca del estado del sistema o bien de nuestros jobs.
Puedes revisar la lísta de nodos disponibles en el cluster haciendo
condor_status
Pero tambien puedes filtrarlos por aquellos que esten disponibles
condor_status -avail
No te desalientes si encuentras que no hay nodos disponibles, el gestor se encarga de agendar tus tareas cuando algun job haya finalizado.
El estado de la cola de jobs puede ser consultado usando
condor_q
Por defecto este comando imprime el ID de la tarea (clusterID.processID), el dueño, el tiempo cuando lo enviaron, el tiempo que lleva ejecutandose, el estado, la prioridad, el tamaño y por último el comando ejecutado. A continución se muestra cada estado y su explicación.
Estado | . | Significado |
---|---|---|
I | idle | Esperanndo un nodo para empezar su ejecución |
R | running | Corriendo |
H | on hold | Ocurrio un error entonces espera una acción del usuario (control) |
S | suspended | . |
C | completed | . |
X | removed | . |
<: | - | Transfiriendo datos de entrada |
>: | - | Transfiriendo datos de salida |
- Para revisar el estado de un solo job basta con ejecutar el comando donde muestra todos los jobs para el usuario
<usuario>
en el cluster
condor_q -global -submitter <usuario>
- Analiza un job específico mostrando las razones por las cuales se encuntra en dicho estado (Condiciones insatisfechas, no haber sido considerado por el Celestino)
condor_q -analyze <job_id>
- Similar al anterior pero con mas información
condor_q -better-analyze <job_id>
- Muestra toda la información relacionada al job
condor_q -long <job_id>
A veces es deseable saber sobre los jobs cuyo estado es 'Hold' y la razón por la cual estan así. Por lo general, basta con ejecutar el comando condor_release
para solucionar el problema (ver abajo)
condor_q -hold
- Puedes ver las últimas líneas del stdout de un job en ejecución
condor_tail <job_id>
- Ver de forma incontinua el stdout del comando anterior (sales con Ctrl+C)
condor_tail -f <job_id>
- Muestra el contenido del stderr en vez del stdout
condor_tail -no-stdout -stderr <job_id>
- Muestra el contenido de un archivo (el
output_file
debe haberse listado en la entradatransfer_output_files
del submitfile).
condor_tail -no-stdout <job_id> <output_file>
https://research.cs.wisc.edu/htcondor/manual/v7.8/condor_ssh_to_job.html
condor_ssh_to_job <job_id>
condor_userlog
condor_logview <file.log>
condor_userprio
condor_history:
De un job se puede calcular varios tiempos...
Luego de tener información precisa sobre el estado de nuestros jobs, podremos llevar a cabo acciones sobre los mismos de acuerdo a nuestras necesidades
$ condor_suspend
$ condor_hold
https://research.cs.wisc.edu/htcondor/manual/v7.8/condor_release.html
$ condor_continue <job_id>
$ condor_release <job_id>
https://research.cs.wisc.edu/htcondor/manual/v7.8/condor_rm.html
$ condor_rm <cluster ID>[.<process ID>] -name <schedd_string>
Puedes editar los requisitos de un Job ejecutando el comando
https://research.cs.wisc.edu/htcondor/manual/v7.8/condor_qedit.html
$ condor_qedit