-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Option to choose between synchronous and asynchronous mode for job creation #30
Comments
@gfenoy shouldn't this be part of the |
This is indeed missing in the schema 👍
|
The thing with requesting raw data output in WPS is that it only worked for exactly one output. Maybe it is more useful to follow the approach outlined here: #21. Introducing |
Actually, this is where I am lost personally. I am unable to identify clearly what should be included in the model and what shall not be. Typically here, the definition of this parameter (both For example, in this link you can see the declaration of both mode (oas-header1) and response (oas-header2). I would like to inform that using the definition from the |
@bpross-52n you are totally right, after checking the xsd schemas again, it should definitely go into the statusInfo object. |
After adding back the "href" attribute in the outputs, the proposed solution is redundant and does not make sense (and would have to deal with output arrays): for accessing the various ouput, you simply read all the links that you request by reference in your execute request. |
Quoting chat:
|
Mode attribute is back in the current execute.yaml |
If I can find information about the jobControlOptions when listing
/processes
, I am not able to find the way to ask the OGC API - Processing server to run a job asynchronously like I was able to do using themode
attribute in WPS 2.0.One option may be to add a
mode
parameter (in: "query"
) that can takesync
orasync
as value (withsync
as the default value).Another option may be to consider using the "respond-async" Preference header defined in RFC 7240. If we use it, we can then add the following parameter to the
/processes/{id}/jobs
path for thepost
request:Hence, one can specify that the job should be run asynchronously, if possible, by passing the "respond-async" Preference header, in other case the job should be run synchronously.
Also, I don't see any response body definition for an execute request and the client should extract information about the created {jobID} from the Location server response header.
An option may be to use a jobInfo object with {jobID} as
id
and a statusInfo object asinfos
can be an option as we are basically providing one of the links available from the/processes/{id}/jobs/{jobID}
path corresponding to the Status location as the Location header.On the other hand, to get something similar to the WPS 2.0, then we may consider that in case the client ask the Processing server to execute a job asynchronously then the server response may be a jobInfo (corresponding to the StatusInfo document in WPS 2.0). Another option may be to consider using the "respond-async" Preference header defined in RFC 7240. If we use it, we can then add the following parameter to the
/processes/{id}/jobs
path for thepost
request.In case there is no request Preference header, then the Server can use the auto mode (meaning that the server decides if the job is run synchronously or not) or the sync mode (in such a case, we may consider returning the /processes/{id}/jobs/{jobID}/result path in the Location response header and provide an outputInfo).
The text was updated successfully, but these errors were encountered: