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