Jan K. Labanowski: Computational Portals for Chemistry  

Job Monitoring servelet

The batch script reports the progress back to the Web server. Beside the regular shell instructions to run the job, the script notifies the server what it has done. The script template incorporates entries like:
# call notifier to inform listener that we are running
notify.pl '@@**ListenerURL**@@?user=@@**WFuser**@@&remuser=@@**MachineUID**@@\
&host=@@**Machine**@@&job=@@**problemName**@@/@@**sessionName**@@/\
@@**applicationName**@@&remdir=@@**remoteUserHomeDirectory**@@&event=started'
which, after passing through a tag replacing filter, are converted to:
notify.pl 'http://heechee.ccl.net/listener/servlet/MonitorJobServ?user=jkl\
&remuser=pse&host=origin.ccl.net&job=gaussian-test/session0/GAUSSIAN\
&remdir=/home/pse&event=started'
The notify.pl is just a perl script which sends the simple GET message according to the HTTP protocol. Here we could use also a popular wget utility from GNU. The MonitorJobSer servlet, listening on the server, interprets the parameters of this GET request and updates job status information, copies files, etc.
This is kitchen which we had to develop, since there was nothing there at that time. We could now replace a portion of these utilities with tools in the CoG Kits. Moreover, here, the Web Services would be great. This notification above would be great for SOAP.