Skip to content
Snippets Groups Projects
Commit 40a7a68b authored by Jeremy Auguste's avatar Jeremy Auguste
Browse files

Changed karma to be queue based and added better printing of timeleft

parent 924aab9d
No related branches found
No related tags found
No related merge requests found
......@@ -8,13 +8,14 @@ import subprocess
from collections import defaultdict
import re
import time
import datetime
class Owner:
def __init__(self, name):
self.name = name
self.queues = defaultdict(list)
self.karma = 0.0
self.karma = defaultdict(float)
self.timeleft = 0
self.running = defaultdict(int)
self.resources = defaultdict(int)
......@@ -22,8 +23,8 @@ class Owner:
def add_job(self, job):
self.queues[job.queue].append(job)
if job.karma > self.karma:
self.karma = job.karma
if job.karma > self.karma[job.queue]:
self.karma[job.queue] = job.karma
self.timeleft += job.wall_time - job.elapsed_time
self.resources[job.queue] += job.resources
if job.elapsed_time != 0:
......@@ -32,9 +33,9 @@ class Owner:
self.gpu[job.queue] += job.resources
def print_info(self):
print("User {} :: Timeleft: {}, Karma: {}".format(self.name, self.timeleft, self.karma))
print("User {} :: Timeleft: {}".format(self.name, datetime.timedelta(seconds=self.timeleft)))
for queue in self.queues.keys():
print("\t{} - Running {}, Resources: {}, GPUs: {}".format(queue, self.running[queue], self.resources[queue], self.gpu[queue]))
print("\t{} - Running {}, Resources: {}, GPUs: {}, Karma: {}".format(queue, self.running[queue], self.resources[queue], self.gpu[queue], self.karma[queue]))
class Job:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment