Hello,

Thank you for the suggestion. I set this wrapper around qlogin in addition to the ssh wrapper script I already had and it worked - I now have the context variable I can use in JSV.

If I do the same for qrsh, how can I distinguish interactive qrsh from a qrsh call in multi-node parallel job?

Another question is how to limit the number of interactive jobs per user. Interactive jobs could potentially use more than one core/slot, so I am not sure it is possible to limit via RQL. How to let users know that they are limited because the already have a certain number of interactive jobs running?

Thank you,
Ilya.

-------- Original Message --------
Subject: Re: [gridengine users] taming qlogin
From: Kamel Mazouzi <[email protected]>
To: Ilya <[email protected]>
Date: 6/23/17, 08:41
Hi,

You can use a wrapper to qlogin like this:

qlogin -sc SGE_QLOGIN=1 $@

and then check for that variable in JSV like this:

var=$(jsv_get_param ac)

if [[ $var =~ "SGE_QLOGIN=1" ]]; then

## this is a QLOGIN session
## force h_rt to 2h for example
jsv_sub_add_param "l_hard" "h_rt" "02:00:00"

else

 jsv_log_info "This is a normal job"

fi;

Best,


On Fri, Jun 23, 2017 at 5:24 PM, Ilya <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I am running 6.2u5 with ssh transport for qlogin (not tight
    integration) and users are abusing this service: run jobs for
    days, abandon their sessions that stay opened forever, etc. So I
    want to implement mandatory time limits for all interactive jobs
    and, perhaps, limit the number of interactive sessions available
    to any user.

    I was thinking about limiting time one of the two ways: either set
    h_rt via JSV (server side) or by forcing all interactive jobs to a
    dedicated queue with time limit. However, there seem to be issues
    with both approaches.

    There seems to be no way to reliably identify interactive job in JSV:
    - The only telling attribute is jobname, i.e., QLOGIN or QRLOGIN.
    However some users rename their interactive jobs, so this method
    will fails.

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



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

Reply via email to