Hi, I am writing to see if anyone can give me any pointers on monitoring file transfer and job submission tasks on the Grid. What I would like to do is to be able to present detailed information such as status of the job (ideally even if sent to a PBS batch system) and progress (e.g. in percentage) of a file transfer, even if the user logs out and then back in into the portal (so registering a listener in the session is not enough in my case). The monitoring that the batch job submission portlet in OGCE provides is pretty much what I want for the job case.
Now the issue I am having with this: I am trying to apply the Java CoG Kit abstractions. That is, I have studied the code for the batch job submission portlet and I know it employs the GramJob class in the (jGlobus?) part of the CoG API. I haven't tried to do this for file transfers so I also don't know how it would be done in that case. Nevertheless, using the abstractions I was only able to register a listener in the session, which constrained me mainly to synchronous or almost synchronous executions. What I like about the abstractions is their simplicity and implementation of object oriented concepts. If I used e.g. the GramJob class, then as far as I know I need to build the rsl. These are therefore the main items I am in doubt about: Is it possible to use the CoG Abstractions for the purpose I described? Or at least is there a way to get the native job handle from the abstractions and build a GramJob object just for the purpose of monitoring the task, that is, combine both techniques? The only handle I could get my hands on was a urn:cog handle that I didn't know what to use for. I am not sure the extent up to which GramJob works with GT4 (WS-based) execution, I have seen that a GramJobPreWS object is also used in the portlet I studied, can I get this GramJob class to work with any provider (at least any globus provider, namely gt2 and gt4)? How would this be done for file transfers? I would greatly appreciate your comments on these topics. If there's a way to combine approaches so as to get the advantages of using the abstractions, that would be great. If anyone has further examples on how to achieve such monitoring without the abstractions, that would also be helpful. Even examples on monitoring using the abstractions only in the same session - though I would really like to be able to span sessions - would come in handy. I'd like to add I once tried to do this by using the gt2 fault tolerant provider and trying to checkpoint and reconnect to tasks, but I was never able to get this to work, even from the command line. Thank you a lot for your help, Matt
