airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanjaya Medonsa <>
Subject GFac Handlers
Date Tue, 11 Jun 2013 12:22:34 GMT
     As per current design of Handlers, there are two types of handlers.
        1. IN Handlers
        2. OUT Handlers

Basically IN handler does the pre processing and out handler does the post
processing. With Airavata OODT integration, I am planning to implement IN
handler to perform file staging and out handler perform output ingesting
into CAS. That means two handler instances to handle pre/post processing.
In my scenario, this approach seems bit inefficient. Both IN/OUT handlers
are based on OODT PGETaskInstance. Due to current handler architecture, I
need to create two instance of PGETaskInstance (One for IN handler and one
for OUT handler). I guess we could have avoid this situation by having just
GFac handlers which could either be IN, OUT or IN/OUT. In my case, I
actually need to implement IN/OUT handler. In high level, I am proposing
the following approach.
        1. At configuration level no differentiation on IN/OUT handlers
        2. Instead GFacHandler interface should contain two methods
(preInvoke/postInvoke). Depending on the type of handler either pre/post
method should be implemented.
               PRE - preInvoke
               POST - postInvoke
               PRE/POST - Both preInvoke/postInvoke
        3. Either we could instantiate all the handlers initially and
invoke all pre methods prior to task execution and invoke all post methods
after task execution. If this approach is bit inefficient, then we could
introduce type into handlers (PRE/POST/PREPOST). Prior to task execution we
could instantiate PRE/PREPOST and invoke pre execution method.After task
execution we could instantiate POST handlers and  invoke postExceution
method for both POST/PREPOST handlers.

I guess Handler may not be the correct name here, we could name these
handlers as task wrappers as it refers in OODT. Let me know your feedback.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message