One could also wrap the shepherd if what you wanted to do is check for the working directory and potentially create or mount it if it isn't there yet before exec'ing the real shepherd. All so called methods (prolog, starter, pe-*, etc) are run by the shepherd. So by wrapping it you can precede all of that.

Cheers,

Fritz

William Hay schrieb:
On Mon, Jan 25, 2016 at 01:33:09PM +0300, Taras Shapovalov wrote:
    Hi guys,
    We have faced with uncharacteristic (for other workload mangers) behavior
    of OGS 2011.11p1 (probably UGE has the same behavior, not sure yet).
    Prolog is called always after stderr/out files are created. This means
    that if prolog creates some directories that are not exist before and std
    files should be put there, then the job is put in a failure state.
    Is it possible to switch such behavior somehow? I think if prolog starts
    before any sgeexecd's actions related to a job then the prolog would be
    much more useful.
    Any idea is appreciated!
    Best regards,
    Taras

The output of the prolog/epilog also goes into the stdout/stderr files which is 
why
they are created before the prolog is run.

Possible workaround:
Have a  JSV save the stdout/stderr locations in an environment variable and 
change the
stdout/stderr locations passed to the job to  point to /dev/null.
The starter_method can then manipulate its own stdout and stderr to point back 
to the original
locations.  Be careful to only tweak this for the master process of the job not 
any slave
qrsh calls.

William
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

--

UnivaFritz Ferstl | CTO and Business Development, EMEA
Univa Corporation <http://www.univa.com/> | The Data Center Optimization Company
E-Mail: [email protected] | Mobile: +49.170.819.7390





_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to