set job control params in job creation POST

Paul Harrison paul.harrison at manchester.ac.uk
Fri Mar 6 03:07:17 PST 2009


On 2009-03 -05, at 17:49, Patrick Dowler wrote:

>
> context: In TAP we want to define a TERMINATION parameter for sync  
> queries
> with exactly the same semantics as it has in UWS for async queries.
>
> One thing I discussed with Paul and Guy last summer was whether or  
> not UWS
> allowed one to init/set/request some of the resources in the initial  
> POST
> that creates the job. I recall (could be wrong) the conclusion was  
> that you
> COULD do this for service specific parameters but you COULD NOT do  
> it for UWS
> concepts and had to address job control POSTs to the specific child  
> web
> resource. That would mean that in TAP something like
>
> POST /sync?TERMINATION=600&...
>
> is allowed while
>
> POST /async?TERMINATION=600
>
> is not. There are many examples in the TAP doc where other TAP- 
> specific
> parameters are POSTed in the job creation step. This was thought to  
> be OK but
> it leaves an odd disconnect (especially for users) since some params  
> can be
> set at job creation and some (UWS defined) cannot. The situation  
> will be
> worse if the rules are different for the /async and /sync endpoints.

As you remember, I was not in favour of trying to set the job control  
parameters in the initial POST because of the possible clash of a  
control parameter name with a job parameter name in the general UWS  
case - however, I am more relaxed  about a specific implementation of  
UWS, where the clash is known not to occur - so for TAP It would be  
OK, but for CEA it would not (because CEA is a sort of meta protocol  
and the parameter names are "chosen" by the particular installation  
and are dependent on the application being wrapped).

In the general case there is a way out here with making a distinction  
between parameters that are specified in the body of the post (job  
parameters) and those in the URL (job control parameters) - however I  
do not think that this helps too much in the TAP case where the PARAM  
version of the query appears in the URL string so that there is mixing  
anyway.
>
>
> The goal (in TAP, but it is a general issue) is that we want to be  
> able to run
> synchronously or asynchronously by just changing the endpoint. To  
> fully
> accomplish that, one has to at least be permitted to completely  
> specify the
> job in a single POST - e.g. the job creation POST in the case of  
> async. This
> is simple enough to implement.
>
> Has this been addressed in UWS 0.5? Thought about further?
>

My feeling on this not to be too much of a REST purist and alter the  
UWS specification should say that it is allowable to set job control  
parameters in the initial post if the particular implementation has no  
issues with possible name clashes - i.e. the specification of the  
implementation should say whether this is allowed - it might also be  
necessary for some registration flag be used to indicate this  
possibility to aid generalized UWS clients. Note that all  
implementations should also allow the full REST style setting of job  
control parameters.

Paul.

JBCA, Manchester University
http://www.manchester.ac.uk/jodrellbank





More information about the grid mailing list