Running ExecutablesΒΆ
You can run any executable or script through Ganga using the Executable application. This accepts either a full
path to an already installed exe (e.g. on CVMFS) or a Ganga File object that will be sent with your job. You
can also supply arguments and environment settings with the options in the Executable object.
As an example:
# Already existing Exe
j = Job()
j.application = Executable()
j.application.exe = '/bin/ls'
j.application.args = ['-l', '-h']
j.submit()
# Wait for completion
j.peek("stdout")
# Send a script
open('my_script.sh', 'w').write("""#!/bin/bash
echo 'Current dir: ' `pwd`
echo 'Contents:'
ls -ltr
echo 'Args: ' $@
""")
import os
os.system('chmod +x my_script.sh')
j = Job()
j.application = Executable()
j.application.exe = File('my_script.sh')
j.submit()
# Wait for completion
j.peek("stdout")
If your executable requires more than one file to run, you can use the inputfiles field of the Job object
to send this across as well (see Input And Output Data).