Another tweak to how import wait times are calculated

This commit is contained in:
Mouse Reeve 2022-11-10 13:59:27 -08:00
parent eae1866992
commit 49d0590599
2 changed files with 25 additions and 1 deletions

View file

@ -149,3 +149,26 @@ class ImportViews(TestCase):
)
result = views.imports.import_data.get_average_import_time()
self.assertEqual(result, 3 * 60 * 60)
def test_get_average_import_time_ignore_stopped(self):
"""Don't include stopped, do include no status"""
now = datetime.datetime.now()
two_hours_ago = now - datetime.timedelta(hours=2)
four_hours_ago = now - datetime.timedelta(hours=4)
models.ImportJob.objects.create(
user=self.local_user,
created_date=two_hours_ago,
updated_date=now,
status="stopped",
complete=True,
mappings={},
)
models.ImportJob.objects.create(
user=self.local_user,
created_date=four_hours_ago,
updated_date=now,
complete=True,
mappings={},
)
result = views.imports.import_data.get_average_import_time()
self.assertEqual(result, 4 * 60 * 60)

View file

@ -94,7 +94,8 @@ def get_average_import_time() -> float:
"""Helper to figure out how long imports are taking (returns seconds)"""
last_week = timezone.now() - datetime.timedelta(days=7)
recent_avg = (
models.ImportJob.objects.filter(created_date__gte=last_week, status="complete")
models.ImportJob.objects.filter(created_date__gte=last_week, complete=True)
.exclude(status="stopped")
.annotate(
runtime=ExpressionWrapper(
F("updated_date") - F("created_date"),