UWS 1.1

Gregory Mantelet gmantele at ari.uni-heidelberg.de
Mon Jun 1 14:07:34 CEST 2015


Hello Mark, Grid,

> Just to say that I agree with this too. I am fully expecting
> to deal routinely with 'early' server returns from the blocking
> poll that do not correspond to a change in phase.  I haven't
> written the code yet, but I'd expect to put the call in a loop
> like that used for a java Object.wait():
>
>      while ( ! isFinishedPhase() ) {
>         blocking_poll()
>      }
>
> Given the text in the blocking section of UWS 1.1, I think all clients
> (including web pages) have to be able to do this, so I'd say that
> Gregory's request redirection idea, while sort of neat, looks to me
> like unnecessary complication.

I totally agree. I've gave up this idea (that I was not already keen 
on). As Pat, I also set a timeout (configurable by library user) and, if 
asked by the library user, a limit on the number of threads for a given 
job and user (if the user is not identified, the ip address is used).

>> Another small fiddly bit: I did implement ?WAIT (with no value) to wait until
>> the max wait time, but I see no value in having WAIT=0 be special and do the
>> same thing... with http timeouts there are no particularly useful wait times
>> that are large enough that a client can't come up with a normal value that
>> expresses their actual interest and no one is really interested in waiting
>> forever :-) So, in my implementation WAIT=0 does exactly that: waits for 0
>> seconds then returns.
> This reasoning is plausible enough, though I also note that there's
> no useful role for explicitly specifying WAIT=0 that waits for
> zero seconds, since you could just omit the WAIT parameter for the
> same effect.  But either way, obviously implementing it as you
> describe would only be permissible if the UWS PR text ends up
> being changed accordingly.

Again, I agree with Pat, saying that WAIT=0 should be interpreted for me 
as well as "no parameter WAIT" and so, no blocking. On the contrary, a 
non numerical value or a negative value is interpreted as an unlimited 
duration blocking (since the parameter value is not valid). I did like 
that for the moment, but if it is recommended to consider WAIT=0 as 
unlimited duration, I can still easily change that.

Cheers,
Grégory



More information about the grid mailing list