Last active
May 9, 2017 14:40
-
-
Save IanSudbery/dc93bff847b1fdd836f5c69b0665d5f9 to your computer and use it in GitHub Desktop.
Test drmaa job submission in a threaded environment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import drmaa | |
from multiprocessing.pool import ThreadPool | |
import tempfile | |
import os | |
import stat | |
pool = ThreadPool(2) | |
session = drmaa.Session() | |
session.initialize() | |
def pTask(n): | |
smt = "ls . > test.out" | |
script_file = tempfile.NamedTemporaryFile(mode="w", dir=os.getcwd(), delete=False) | |
script_file.write(smt) | |
script_file.close() | |
print "Job is in file %s" % script_file.name | |
os.chmod(script_file.name, stat.S_IRWXG | stat.S_IRWXU) | |
jt = session.createJobTemplate() | |
print "jt created" | |
jt.jobEnvironment = {'BASH_ENV': '~/.bashrc'} | |
print "environment set" | |
jt.remoteCommand = os.path.join(os.getcwd(),script_file.name) | |
print "remote command set" | |
jobid = session.runJob(jt) | |
print "Job submitted with id: %s, waiting ..." % jobid | |
retval = session.wait(jobid, drmaa.Session.TIMEOUT_WAIT_FOREVER) | |
pool.map(pTask, (1,)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment