Esempio n. 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
Esempio n. 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
Esempio n. 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
Esempio n. 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)))
Esempio n. 5
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)))