def get(self, request, pk, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: cpu_per_job_per_node_list = [] Job_Owner = request.session['username'] node_name = '' node_names_list = [] all_node_list = ServerInstance().node_list( ) # Get a list with all nodes for node in all_node_list: # Fill a list with node names and node names without '-' node_names_list.append({ 'node_name': node.name, 'clear_node_name': node.name.replace('-', '') }) for item in node_names_list: # Search the list with node names and node names without '-' if str(pk) == item[ 'clear_node_name']: # If url node name equals list's clear_node_name, set the proper node name node_name = item['node_name'] node_list = ServerInstance().node_list( node_name) # Get specific node node = node_list[0] serializer = NodeSerializer(node) cpu_per_job_per_node_list.append(serializer.data) json_data['data'] = cpu_per_job_per_node_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=cpu_per_job_per_node_list)
def get(self, request, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: cpu_per_job_per_node_list = [] node_list = ServerInstance().node_list() for node in node_list: check = 0 for item in cpu_per_job_per_node_list: if node.state == item['state']: item['value'] += 1 check = 1 if check == 0: cpu_per_job_per_node_list.append({ 'state': node.state, 'value': 1 }) json_data['data'] = cpu_per_job_per_node_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=cpu_per_job_per_node_list)
def get(self, request, pk, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: user_jobs = 0 rest_jobs = 0 user_all_job_queue_list = [] Job_Owner = request.session['username'] all_job_list = ServerInstance().job_list() for job in all_job_list: if job.queue == str(pk): temp_Job_Owner, temp_host = job.Job_Owner.split('@') if temp_Job_Owner == Job_Owner: user_jobs += 1 else: rest_jobs += 1 user_all_job_queue_list.append({ 'user': Job_Owner, 'jobs': user_jobs }) user_all_job_queue_list.append({'user': '******', 'jobs': rest_jobs}) json_data['data'] = user_all_job_queue_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=user_all_job_queue_list)
def list(self, request, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: check = 0 user_queues_list = [] Job_Owner = request.session['username'] user_job_instances_list = ServerInstance().job_list(Job_Owner) for user_job_instance in user_job_instances_list: for user_queue in user_queues_list: if user_queue['queue'] == user_job_instance.queue: user_queue['jobs'] += 1 check = 1 continue if check == 0: user_queues_list.append({ 'queue': user_job_instance.queue, 'jobs': 1 }) check = 0 json_data['data'] = user_queues_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=user_queues_list)
def get(self, request, pk, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: Job_Owner = request.session['username'] job_list = ServerInstance().job_list() completed_user_jobs = 0 running_user_jobs = 0 holded_user_jobs = 0 queued_user_jobs = 0 for job in job_list: if job.queue == str(pk): if job.job_state == 'C': completed_user_jobs += 1 elif job.job_state == 'R': running_user_jobs += 1 elif job.job_state == 'H': holded_user_jobs += 1 elif job.job_state == 'Q': queued_user_jobs += 1 jobs_list = [] jobs_list.append({'state': 'C', 'value': completed_user_jobs}) jobs_list.append({'state': 'R', 'value': running_user_jobs}) jobs_list.append({'state': 'H', 'value': holded_user_jobs}) jobs_list.append({'state': 'Q', 'value': queued_user_jobs}) json_data['data'] = jobs_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=jobs_list)
def list(self, request, format=None): # if 'username' not in request.session: # return Response("User not found") # else: #Job_Owner = request.session['username'] list = [] node_list = ServerInstance().node_list() for node in node_list: serializer = NodeSerializer(node) list.append(serializer.data) return Response(list)
def list(self, request, format=None): # if 'username' not in request.session: # return Response("User not found") # else: # Job_Owner = request.session['username'] queue_list = [] user_queue_list = ServerInstance().queue_list() for queue in user_queue_list: serializer = QueueSerializer(queue) queue_list.append(serializer.data) return Response(queue_list)
def get(self, request, pk, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User detail'} if 'username' not in request.session: json_data['data'] = "User not found" else: Job_Owner = request.session['username'] user_queues_list = [] queue_instances_list = ServerInstance().queue_list(str(pk)) for queue in queue_instances_list: serializer = QueueSerializer(queue) user_queues_list.append(serializer.data) json_data['data'] = user_queues_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=user_queues_list)
def get(self, request, pk, format=None): json_data = {'success': True, 'data': {}, 'msg': 'User queue list'} if 'username' not in request.session: json_data['data'] = "User not found" else: cpu_per_job_per_node_list = [] Job_Owner = request.session['username'] node_name = '' node_names_list = [] all_node_list = ServerInstance().node_list( ) # Get a list with all nodes for node in all_node_list: # Fill a list with node names and node names without '-' node_names_list.append({ 'node_name': node.name, 'clear_node_name': node.name.replace('-', '') }) for item in node_names_list: # Search the list with node names and node names without '-' if str(pk) == item[ 'clear_node_name']: # If url node name equals list's clear_node_name, set the proper node name node_name = item['node_name'] node_list = ServerInstance().node_list( node_name) # Get specific node node = node_list[0] node_job_list = node.jobs # torque_version = "old" for node_job in node_job_list: check = 0 print node_job cpu_id, job = node_job.split('/') job_id, host = job.split('.') print cpu_id if '-' in cpu_id: cpu_id_1, cpu_id_2 = cpu_id.split('-') cpu_id_1 = int(cpu_id_1) cpu_id_2 = int(cpu_id_2) cpu_id = cpu_id_2 - cpu_id_1 + 1 else: cpu_id = 1 print "CPUs: %d" % cpu_id job_id = int(job_id) cpu_per_job_per_node_list.append({ 'job': job_id, 'cpu': cpu_id }) # support Torque 6 # print cpu_id # if '-' in cpu_id: # torque_version = "new" # cpu_id_1, cpu_id_2 = cpu_id.split('-') # cpu_id_1 = int(cpu_id_1) # cpu_id_2 = int(cpu_id_2) # cpu_id = cpu_id_2 - cpu_id_1 + 1 # print "torque 6: %d" % cpu_id # else: # torque_version = "old" # cpu_id = int(cpu_id) # print "torque 4: %d" % cpu_id # job_id = int(job_id) # for job in cpu_per_job_per_node_list: # if torque_version == "old": # if job['job'] == job_id: # job['cpu'] += 1 # check = 1 # cpu_per_job_per_node_list.append({'job' : job_id, 'cpu' : job['cpu']}) # else: # job['cpu'] = cpu_id # cpu_per_job_per_node_list.append({'job' : job_id, 'cpu' : cpu_id}) # check = 1 # if check == 0: # if torque_version == "old": # cpu_per_job_per_node_list.append({'job' : job_id, 'cpu' : 1}) # else: # cpu_per_job_per_node_list.append({'job' : job_id, 'cpu' : cpu_id}) print cpu_per_job_per_node_list json_data['data'] = cpu_per_job_per_node_list if format == 'json': return HttpResponse(json.dumps(json_data), content_type="application/json") else: return Response(data=cpu_per_job_per_node_list)