[MOBY-dev] RFC #1941 Asynchronous Service Call Proposal
Robert Buels
rmb32 at cornell.edu
Tue Feb 7 06:01:17 UTC 2006
>use the mixed mode. Because if we do so, we cannot use xxx_result as a
>cleaning method (see more about cleaning below), we would need to have
>another method, such as xxx_clean.
>
> No. Johan is using 'job' for one request (which can have more mobyData
>parts). Once you call xxx_async, the whole such request is identified by a
>'job identifier'.
>
>
It looks to me like our different interpretations here might be because
of a lack of clarity in number 2 on page 8 of the RFC. It doesn't
really specify whether one mobyStatus block is returned with an asyncID
referring to all the submitted jobs/mobyData blocks, or whether one
mobyStatus is returned for each mobyData in the input, with a separate
ID for each. I assumed the latter, and I think Martin assumed the
former. Whichever way it was intented, I definitely think we should get
one unique asyncID per mobyData in the input.
So if that's the case, then there would be no difficulties in making the
xxx_result call be also the cleanup call. When a xxx_result call is
issued for a job with asyncID X, you can clean up just the state related
to asyncID X and leave the others alone.
> If the call to xxx_result fails, it fails, and you have nothing, and
>you have to start again. This is the sa,e as now with sync services.
>
Well, it would be kind of nice to have a little insurance. What if the
job took a week of compute time? It would be nice to have a reliable
way to do jobs like that. Maybe specifying a xxx_clean method is
actually the way to go here, in order to have a more robust system. Or
maybe one could only have to call the xxx_clean if one specified in the
xxx_result input that it should NOT clean up?
> But that's exactly what the proposal is saying. It will be oly one
>service, but it will have more than one method (and a 'method' in web
>services speak is a 'type of request').
>
>
>
Yeah, you're right, it is just one service, but just with some kind of
async flag in its spec. I was sort of thinking of simplicity on the
implementation side, but on second thought implementing 4 methods versus
implementing 1 method that's called 4 ways is about the same amount of
labor. Nevermind.
> But I think that INB suggestion that the initial input and the
>resulting output are exactly the same bothy for sync and async is very
>good and valuable, and guarantees backaward compatibility. So I do not see
>here any need to suggest anything else :-)
>
>
>
Yep, you're right, it's good to have input and output the same for sync
and async. Nevermind. :-)
Rob
--
Robert Buels
SGN Bioinformatics Analyst
252A Emerson Hall, Cornell University
Ithaca, NY 14853
Tel: 607-255-2360
rmb32 at cornell.edu
http://www.sgn.cornell.edu
More information about the MOBY-dev
mailing list