feat: stabilize multi-region runtime sync and worker orchestration
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import unittest
|
||||
import sys
|
||||
import unittest
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
|
||||
sys.path.insert(0, "/www/wwwroot/getDomain/domainCheck")
|
||||
@@ -7,6 +8,7 @@ sys.path.insert(0, "/www/wwwroot/getDomain/domainCheck")
|
||||
from app.utils.database import _detect_job_item_step_priority
|
||||
from app.utils.database import _ordered_step_claim_codes
|
||||
from app.utils.database import _resolve_step_claim_quota
|
||||
from app.utils.database import _select_preferred_claim_job_ids
|
||||
|
||||
|
||||
class DetectJobItemClaimPriorityTestCase(unittest.TestCase):
|
||||
@@ -46,9 +48,42 @@ class DetectJobItemClaimPriorityTestCase(unittest.TestCase):
|
||||
_detect_job_item_step_priority("detect_register"),
|
||||
)
|
||||
|
||||
def test_step_claim_quota_defaults_to_quarter_window_with_floor(self):
|
||||
def test_step_claim_quota_defaults_to_full_window_for_large_pools(self):
|
||||
self.assertEqual(64, _resolve_step_claim_quota(120))
|
||||
self.assertEqual(300, _resolve_step_claim_quota(1200))
|
||||
self.assertEqual(1200, _resolve_step_claim_quota(1200))
|
||||
|
||||
def test_select_preferred_claim_job_ids_prioritizes_running_jobs_even_if_older(self):
|
||||
now = datetime(2026, 4, 24, 18, 30, 0)
|
||||
|
||||
selected = _select_preferred_claim_job_ids(
|
||||
[
|
||||
(19, "pending", now - timedelta(hours=60)),
|
||||
(57, "running", now - timedelta(hours=72)),
|
||||
(58, "pending", now - timedelta(hours=2)),
|
||||
],
|
||||
limit=3,
|
||||
recent_hours=24,
|
||||
now=now,
|
||||
)
|
||||
|
||||
self.assertEqual([57, 58], selected)
|
||||
|
||||
def test_select_preferred_claim_job_ids_filters_out_stale_pending_jobs(self):
|
||||
now = datetime(2026, 4, 24, 18, 30, 0)
|
||||
|
||||
selected = _select_preferred_claim_job_ids(
|
||||
[
|
||||
(19, "pending", now - timedelta(hours=60)),
|
||||
(20, "pending", now - timedelta(hours=40)),
|
||||
(58, "pending", now - timedelta(hours=2)),
|
||||
(59, "pending", now - timedelta(minutes=30)),
|
||||
],
|
||||
limit=4,
|
||||
recent_hours=24,
|
||||
now=now,
|
||||
)
|
||||
|
||||
self.assertEqual([59, 58], selected)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user