2010-09-14 4 views
6

Sto eseguendo molti lavori con Sun Grid Engine. Poiché si tratta di lavori (~ 100000), mi piacerebbe utilizzare i lavori di array, che sembra essere più facile in coda.Reindirizzare l'output in diverse directory per i lavori di array del motore della griglia solare

Un altro problema è che ogni lavoro produce un file stdout e stderr, di cui devo tenere traccia degli errori. Se li definisco nello qsub -t 1-100000 -o outputdir -e errordir, finirò per avere directory con 100000 file, il che è troppo.

Esiste un modo per fare in modo che ogni lavoro scriva il file di output in una directory (ad esempio, una directory che comprende i primi 2 caratteri dell'ID lavoro, ovvero lettere esadecimali casuali o il numero di lavoro modulu 1000 o qualcosa del genere).

Grazie

risposta

2

Non riesco a pensare a un buon modo per fare questo con QSUB come non ci sono interfacce programmatiche nel -o e opzioni -e. C'è, tuttavia, un modo per realizzare ciò che vuoi.

Esegui il tuo qsub con -o e -e che punta a/dev/null. Fai in modo che il comando che esegui sia un tipo di wrapper che reindirizza il proprio stdout e stderr ai file in qualsiasi modo desideri (ad es., La struttura della directory suddivisa) prima di eseguire il vero lavoro.

Problemi correlati