[DALI] posting parameters to a DAI-async (aka UWS) job

Patrick Dowler patrick.dowler at nrc-cnrc.gc.ca
Wed Apr 24 09:43:17 PDT 2013


The PR-DALI and the UWS spec (interpretting the latter liberally) allow 
the caller to POST job parameters in three ways:

1. included with the initial post to the job list (eg during job 
creation). This is useful and efficient as it allows one to completely 
specify a job in one POST and (for DALI) it makes sync and async that 
much more similar to use. We definitely want this.


2. to the parameters resource (eg /srv/joblist/<jobid>/parameters). This 
is unambiguous: you are modifying that list of parameters.


3. directly to the job url (eg /srv/joblist/<jobid>). This is kind of 
sketchy to implement, especially if one starts thinking about allowing 
the UWS job control params here (and in #1) and then "putting things 
where they belong"...

*** TODO ***

What we can do right now in DALI is restrict what the UWS-1.0 spec 
allows. The suggestion is to completely forbid #3 and only allow #1 and #2.


Disclosure: The OpenCADC library (cadcUWS) does make all of these work, 
but while we do use feature #3 I'm willing to make that change as I did 
always consider it overly complex (to implement) and lazy (on the caller 
side).


Notes on #2: For this to be really purely RESTful, one should require 
PUT to add a parameter to the list and POST (to 
/srv/joblist/<jobid>/parameters/FOO) would be used to modify an existing 
param. DALI allows multiple instances of a param so the current 
UWS/interpretation does not have a way to distinguish between adding a 
param and modifying one. BUT: I think this is something for a future UWS 
spec.



-- 

Patrick Dowler
Canadian Astronomy Data Centre
National Research Council Canada
5071 West Saanich Road
Victoria, BC V9A 2L9

250-363-0044 (office) 250-363-0045 (fax)


More information about the dal mailing list