Digamos que presento un trabajo usando algo como bsub pwd
. Ahora me gustaría obtener el ID de trabajo de ese trabajo para construir una dependencia para el próximo trabajo. ¿Hay alguna forma en que pueda conseguir que bsub devuelva la identificación del trabajo?LSF - Obtener ID del trabajo enviado
Respuesta
Solo como referencia, esta es la mejor solución que podría encontrar hasta ahora. Aprovecha el hecho de que bsub escribe una línea que contiene la ID en STDOUT.
function nk_jobid {
output=$($*)
echo $output | head -n1 | cut -d'<' -f2 | cut -d'>' -f1
}
Uso:
jobid=$(nk_jobid bsub pwd)
$jobid = "0"
bsub pwd > $jobid
cat $jobid
En caso de que usted está usando C++, puede utilizar la API de lsblib, LSF C para enviar trabajos. La entrada y la salida son estructuras. En particular, la estructura de salida contiene la identificación del trabajo.
#include <lsf/lsbatch.h>
LS_LONG_INT lsb_submit (struct submit *jobSubReq, struct submitReply *jobSubReply)
Nils y Andrey tienen las respuestas a esta pregunta específica en entornos shell y C/C++ respectivamente. A los efectos de las dependencias del edificio, también se puede nombrar a su trabajo con -J luego construir la dependencia basado en el nombre del trabajo:
bsub -J "job1" <cmd1>
bsub -J "job2" <cmd2>
bsub -w "done(job1) && done(job2)" <cmd>
Hay un poco más de información here.
Esto también funciona con matrices de empleo
bsub -J "ArrayA[1-10]" <cmd1>
bsub -J "ArrayB[1-10]" <cmd2>
bsub -w "done(ArrayA[3]) && done(ArrayB[5])" <cmd>
Incluso se puede hacer la dependencia de elemento por elemento. i-ésimo elemento de la siguiente tarea sólo se ejecutará cuando el elemento correspondiente en ArrayB
alcanza DONE
estado:
bsub -w "done(ArrayB[*])" -J "ArrayC[1-10]" <cmd3>
Puede encontrar más información sobre las distintas cosas que se pueden especificar en -w
here.
Si solo desea ver el JOBID después del envío, la mayoría de las veces solo usaré bhist o bhist -l para ver los trabajos en ejecución y los detalles.
$ bhist
Summary of time in seconds spent in various states:
JOBID USER JOB_NAME PEND PSUSP RUN USUSP SSUSP UNKWN TOTAL
8664 F14r3 sample 2 0 187954 0 0 0 187956
- 1. ¿Puedo suprimir un informe de trabajo LSF sin enviar correo?
- 2. Obtener el ID del hilo
- 3. Trivial: obtener la confirmación del correo electrónico enviado en Android
- 4. obtener asana proyecto id
- 5. Fluido NHibernate obtener ID del objeto guardado
- 6. ¿Cómo obtener el ID del proceso del nombre del proceso?
- 7. Android: ¿Cómo obtener el ID del recurso del tema actual?
- 8. ¿Cómo obtener el ID del navegador del usuario usando JSF?
- 9. obtener jquery `$ (this)` id
- 10. Obtener conexión PDO ID
- 11. Cómo obtener VBO trabajo
- 12. Richfaces - Obtener elemento por Id
- 13. ¿Es posible capturar el "ID de mensaje" de un mensaje de correo electrónico enviado con SmtpClient?
- 14. MySQL y Java - Obtener ID del último valor insertado (JDBC)
- 15. Cómo obtener el ID del artículo en un controlador onItemClick
- 16. Obtener índice/ID de la ficha del navegador
- 17. Obtener ID del elemento que llamó a una función
- 18. Obtener el ID del objeto cuando dentro form_for o fields_for
- 19. ¿Cómo obtener programáticamente la ID del dispositivo para AdMob?
- 20. obtener la ID del dispositivo actual con Windows Phone 7
- 21. ASP.NET MVC Obtener ID del último registro agregado
- 22. jquery-Obtener el id del div más cercano?
- 23. ¿Cómo obtener el ID del campo de formulario en Django?
- 24. obtener el nombre del proceso desde el proceso id (win32)
- 25. Obtener ID del último registro insertado en Oracle db
- 26. Obtener ID del elemento sobre el que sobrevivo jQuery?
- 27. jquery: cómo obtener el valor del atributo id?
- 28. Cómo obtener el estado del trabajo de impresión con C#
- 29. actualizar tabla de usuario después de correo electrónico de trabajo retrasado exitoso enviado
- 30. Obtener ID de dom-elemento
¿Qué idioma es? –
@AndreyRubshtein eso es bash. – jsmedmar
Me pregunto cómo pasar una variable dentro del $ (nk_jonid bsub $ VARIABLE) – jsmedmar