I am working on a use case where these is an asynchronous job submission script for pegasus[1] (Condor Dagman [2]). Submission scripts returns a JOBID to monitor the status. Monitor script returns the job status using the JOBID provided by submission script. Another script is available to cancel the job.
I plan to use SSHProvider to call these scripts. Currently provider only support syncronous submission and does not allow to add a wait thread using another script. According to me, this can be common pattern among other gateway use cases. This case is true for LocalProvider also. I can add another provider for my specific case but i think this is a generic case of airavata and need discussion. If we want to add asyncronous submission and monitoring to current Local and SSH providers following changes are needed 1. Add flag to descriptor to identify execution pattern. 2. Change descriptor to allow users to add monitoring script path. 3. Incase we want to support job cancel, cancel script path also need to be added to descriptors also. 4. Monitoring pattern and status (to make decision) need to be configured using some interface. Adding Async Local and SSH provider for this case is another option and new descriptors can be added. Thoughts? Thanks Raminder
