Example #1
0
def get_job_details(task_id):
    log = Log.getLogger(__name__ + '.get_job_details')
    log.debug("Entering get job detailes function.")
    rds = Rds("job-" + task_id)
    job_details = rds.getter()
    #  job_details = eval_json_data(job_details)
    return job_details
Example #2
0
 def _run_cmd(self, file_handler, cmd):
     f = open(file_handler, 'w')
     process = subprocess.Popen(cmd,
                                shell=True,
                                stdout=subprocess.PIPE,
                                stderr=subprocess.PIPE)
     sys.stdout = f
     # Poll process for new output until finished
     while True:
         nextline = process.stdout.readline()
         if nextline == '' and process.poll() is not None:
             break
         sys.stdout.write(str(nextline))
         sys.stdout.flush()
     sys.stdout = sys.__stdout__
     f.close()
     f = open(file_handler, 'r')
     output = f.readlines()
     f.close()
     job_store = Rds('job-' + self.request.id)
     job = job_store.getter()
     job['task_state'] = 'finished'
     job['finish_time'] = Time()
     job['update_time'] = Time()
     job_store.setter(job)
     log.debug(job)
     return output
Example #3
0
def get_job_details(task_id):
    log = Log.getLogger(__name__ + '.get_job_details')
    log.debug("Entering get job detailes function.")
    rds = Rds("job-" + task_id)
    job_details = rds.getter()
    #  job_details = eval_json_data(job_details)
    #  from celery.contrib.rdb import set_trace
    #  set_trace()
    # fix result is running while job has already finished issue
    if job_details['task_state'] == 'finished' and job_details[
            'result'] == 'running':
        job_details['result'] = 'failed'
    return job_details
Example #4
0
 def post(self, task_id):
     log = Log.getLogger(__name__ + ".Callback.post")
     data = {}
     data = request.get_json()
     queue = Rds('job-' + task_id)
     log.debug(queue._key_name)
     queue_data = queue.getter()
     step_result_id = len(queue_data['step_result']) + 1
     queue_data['step_result'][step_result_id] = data
     queue_data['update_time'] = data['timestamp']
     if data.has_key('result'):
         queue_data['result'] = data['result']
     queue.setter(queue_data)
     log.debug("Task event updated from callback: %s %s" %
               (task_id, json.dumps(queue_data)))
Example #5
0
 def _save_job_details(self):
     job = {}
     job['task_id'] = self.request.id
     job['inventory'] = self.params.inventory
     job['task_state'] = 'pending'
     job['result'] = 'running'
     job['playbook'] = self.params.playbook
     job['step_result'] = {}
     job['start_time'] = Time()
     job['finish_time'] = ''
     job['update_time'] = ()
     job_store = Rds('job-' + str(job['task_id']))
     job_store.setter(job)
     log.debug(job)
     return job
Example #6
0
 def get(self, task_id):
     log = Log.getLogger(__name__ + ".Callback.get")
     queue = Rds('job-' + task_id)
     queue_data = queue.getter()
     log.debug("Task event callback called: %s %s" %
               (task_id, json.dumps(queue_data)))