Source code for oioioi.evalmgr.models
import json
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from oioioi.base.fields import EnumField, EnumRegistry
from oioioi.contests.models import Submission
job_states.register('QUEUED', _("Queued"))
job_states.register('PROGRESS', _("In progress"))
job_states.register('CANCELLED', _("Cancelled"))
job_states.register('WAITING', _("Waiting"))
[docs]class SavedEnviron(models.Model):
# A queued_job field can't be a primary key for this model, as it would
# cause evalmgr to 'resume' job with results from previous asynchronous
# call.
[docs] save_time = models.DateTimeField(
auto_now=True, help_text=_("Time and date when the environ was saved")
)
@classmethod
[docs] def save_environ(cls, environ):
return cls.objects.create(
queued_job=QueuedJob.objects.get(job_id=environ['job_id']),
environ=json.dumps(environ),
)