• Publicidad

Problema sobre utilidades de Perl y BioPerl

Perl aplicado a la bioinformática

Re: Problema sobre utilidades de Perl y BioPerl

Notapor explorer » 2013-05-14 05:33 @273

Lo ideal es que, si un proceso debe esperar a otro, es mejor que exista un programa árbitro que ejecute los dos en secuencia. Un simple script que ejecute el primero, y luego ejecute el segundo.

Otro asunto distinto es si no podemos controlar la ejecución del primer programa, quizás porque está siempre ejecutándose, o porque depende de una ejecución externa, o...

En ese caso, el segundo programa debe esperar... o terminar inmediatamente, informando al usuario de que los archivos de los que depende aún no están disponibles y que lo intente de nuevo, más tarde.

En el caso de tener que esperar, debemos decidir cuánto esperar. Podríamos hacerlo hasta el momento en que los archivos existan en el sistema de archivos:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
while (not -f $archivo) {   # mientras no exista el $archivo
    sleep 3;                # esperamos tres segundos
}
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
pero quizás no sea suficiente porque al programa que los genera no le dé tiempo a terminar de escribir en ellos. En ese caso, podemos esperar a que el archivo tenga una cierta "edad" con respecto a nuestro programa:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
while (-M $archivo < 0.003472) {  # mientras el $archivo tenga menos de cinco minutos de existencia
    sleep 10;                     # esperamos un poco
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El operador -M devuelve la diferencia, en días, del momento en que se ejecutó nuestro programa, y el tiempo de última modificación del $archivo. Más información en perldoc -f -X
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Anterior

Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron