In the message dated: Tue, 18 Dec 2012 11:24:22 +0100, The pithy ruminations from Reuti on <Re: [gridengine users] JSV unexpectedly alters resource request from boolean t o float> were: => Am 17.12.2012 um 09:19 schrieb William Hay: => => > On 14 December 2012 22:30, [email protected] <[email protected]> wrote: => > [SNIP!]
=> > => > The JSV consists of: => > => > ############################# => > #!/bin/sh => > # from => > # http://www.mentby.com/Group/grid-engine/default-resource-per-queue.html => > => > # JSV to convert PE names to wildcard version, in order to allow users to submit jobs => > # with: => > # -l pe openmpi => > # and have it transparently refer to => > # -l pe openmpi-Intel* => > # or => > # -l pe openmpi-AMD* => > => > jsv_on_start() { => > return => > } => > => > jsv_on_verify() { => > pe=$(jsv_get_param pe_name) => > case "$pe" in => > openmpi ) => > jsv_set_param pe_name "$pe-*" => > jsv_sub_add_param l_hard openmpi TRUE # in case it wasn't set already => > jsv_correct "Job was modified" => > ;; => > esac => > jsv_accept "Job OK" => => You should call either jsv_correct or jsv_accept, but not both (which can/will happen in the abo => ve case). Please have a look at the example in $SGE_ROOT/util/resources/jsv/jsv.sh where it's do Thanks for the reminder to check the example script. => ne by setting some flags. Hmmm.... I guess I'm mis-reading the jsv_script_interface(3) man page. Where it says: jsv_accept() This function can only be used in jsv_on_verify(). After it has been called, the function jsv_on_verify() has to return immediately. [SNIP!] jsv_correct() This function can only be used in jsv_on_verify(). After it has been called, the function jsv_on_verify() has to return immediately. I interperted it as meaning that there was an implicit "exit" in both jsv_accept and jsv_correct, meaning that the execution flow inside jsv_on_verify would end after either of those statements, and it could not continue after calling jsv_correct into jsv_accept. It sounds like you're saying I could do something like: ###################################################### jsv_on_verify() { pe=$(jsv_get_param pe_name) case "$pe" in openmpi ) jsv_set_param pe_name "$pe-*" jsv_correct "Job was modified" return ;; esac jsv_accept "Job OK" } ###################################################### or ###################################################### jsvmsg="Job OK" jsv_on_verify() { pe=$(jsv_get_param pe_name) case "$pe" in openmpi ) jsv_set_param pe_name "$pe-*" jsvmsg="Job was modified" return ;; esac # call jsv_correct, even if no correction is done, # as jsv_accept ignores all modifications jsv_correct $jsvmsg } ###################################################### => => -- Reuti => Thanks, Mark _______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
