diff options
author | akhilbatra898 <akhil.batra@research.iiit.ac.in> | 2017-07-25 03:30:18 +0530 |
---|---|---|
committer | Akhil Batra <akhil.batra@research.iiit.ac.in> | 2017-07-25 02:03:23 +0000 |
commit | 971df12c95bfa17459d042857e5200f4a7f60cd4 (patch) | |
tree | d75610f678ed9c40ac7b63e88143e35fc52ccc07 /qtip/web/bench/models.py | |
parent | 05ed8bbe8a4e3c6092152382fdb42e33fd3841a2 (diff) |
Implement benchmark running and logging the output
- Run benchmark by adding new tasks
- Modify Task model to have log as log files
- Add new urls for respective views
- Module for running benchmarks in background
- Updating status of tasks
- Listing and detailed log of all tasks
- Add corresponding html templates
Change-Id: I244d1bb74949eeb470c738363f6917191e0f052d
Signed-off-by: akhilbatra898 <akhil.batra@research.iiit.ac.in>
Diffstat (limited to 'qtip/web/bench/models.py')
-rw-r--r-- | qtip/web/bench/models.py | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/qtip/web/bench/models.py b/qtip/web/bench/models.py index 863af739..3f0439d9 100644 --- a/qtip/web/bench/models.py +++ b/qtip/web/bench/models.py @@ -18,15 +18,33 @@ from django.urls import reverse class Repo(models.Model): name = models.CharField(max_length=200, blank=False) - github_link = models.URLField(unique=True) + git_link = models.URLField(unique=True) def get_absolute_url(self): return reverse('repo_update', args=[self.pk]) + def __str__(self): + return "%s, %s" % (self.name, self.git_link) + class Task(models.Model): + TASK_STATUS_CHOICES = ( + ('P', 'Pending'), + ('IP', 'In progress'), + ('F', 'Finished') + ) + start_time = models.DateTimeField(auto_now_add=True) - end_time = models.DateTimeField() - run_time = models.DurationField() + status = models.CharField(choices=TASK_STATUS_CHOICES, default='P', max_length=20) + end_time = models.DateTimeField(null=True) + run_time = models.DurationField(null=True) repo = models.ForeignKey('Repo', on_delete=models.DO_NOTHING) - log = models.TextField() + log = models.FileField(upload_to='logs') + + def save(self, **kwargs): + if self.end_time: + self.run_time = self.end_time - self.start_time + super(Task, self).save(kwargs) + + def get_absolute_url(self): + return reverse('task_view', args=[self.pk]) |