Job
Bases: Model
Route or mesh calculation jobs
Source code in polarrouteserver/route_api/models.py
class Job(models.Model):
"Route or mesh calculation jobs"
id = models.UUIDField(
primary_key=True
) # use uuids for primary keys to align with celery
datetime = models.DateTimeField(default=timezone.now)
route = models.ForeignKey(Route, on_delete=models.SET_NULL, null=True)
@property
def status(self):
result = AsyncResult(self.id, app=app)
return result.state
Mesh
Bases: Model
Source code in polarrouteserver/route_api/models.py
class Mesh(models.Model):
id = models.BigAutoField(primary_key=True)
meshiphi_version = models.CharField(max_length=60, null=True)
md5 = models.CharField(max_length=64)
valid_date_start = models.DateField()
valid_date_end = models.DateField()
created = models.DateTimeField()
lat_min = models.FloatField()
lat_max = models.FloatField()
lon_min = models.FloatField()
lon_max = models.FloatField()
json = models.JSONField(null=True)
name = models.CharField(max_length=150, null=True)
@property
def size(self) -> float:
"""Computes a metric for the size of a mesh."""
return abs(self.lat_max - self.lat_min) * abs(self.lon_max - self.lon_min)
class Meta:
verbose_name_plural = "Meshes"
size
property
Computes a metric for the size of a mesh.