airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Marru <>
Subject Re: Implementing the cancel/terminate
Date Tue, 22 Apr 2014 22:22:38 GMT
Hi Saminda,

This like a good plan, I think we should make sure the API server properly reports these statuses
back to the clients.


On Apr 21, 2014, at 9:06 AM, Saminda Wijeratne <> wrote:

>  Hi All,
> After looking at the current design and doing some trial and error I thought of implementing
the cancellation as follows.
> Cancellation of an experiment requested by a gateway requires cancellation request to
go through several layers. (Orchestrator > GFac > GFac Provider)
> Each layer is responsible for handling cancellation relevant for that layer (Orchestration
cancels experiment, GFac cancels Task, GFac Provider cancels Job)
> What I thought is, each layer will listen to cancellation request made to the layer above
and perform its cancellation actions accordingly. (GFac will see the experiment is having
the status "canceling" for an experiment id and it will perform cancellation of the tasks
relevant for that experiment)
> Effectively the Orchestrator will be 
> updating the status of the experiment in registry with the status "canceling" 
> publish a message which will be caught by GFac instance which handles its Tasks. 
> GFac will perform the same and the correct GFac Provider instance will catch the message
and perform the actual job cancellation.
> Once the job cancellation is done the statuses at each layer will be updated (to "canceled")
in  similar fashion.
> We allow the API call of cancellation to be asynchronous
> I'm hoping to use the MonitorPublisher implemented by Lahiru to publish the messages.
> wdyt?
> Thanks,
> Saminda

View raw message