in pygenie/adapter/adapter.py [0:0]
def execute_job(job, **kwargs):
"""
Take a job and convert it to a JSON payload based on the job's
configuration object's Genie version value and execute.
Returns:
response: HTTP response.
"""
version = job._conf.get('genie.version')
adapter = get_adapter_for_version(version)(conf=job._conf)
if adapter is not None:
try:
adapter.submit_job(job, **kwargs)
except GenieHTTPError as err:
if err.response.status_code == 409:
logger.debug("reattaching to job id '%s'", job.get('job_id'))
else:
raise
except NotImplementedError:
pass
return RunningJob(job.get('job_id'), adapter=adapter, conf=job._conf)
raise GenieAdapterError("no adapter for '{}' to version '{}'" \
.format(job.__class__.__name__, version))