@@ -71,12 +71,17 @@ def test_worker_with_queue_name(self):
7171 self .assertTrue ("test_queue" in output )
7272
7373
74+ @freezegun .freeze_time ("2025-01-01T12:00:00Z" )
7475@override_settings (JOBS = {"testjob" : {"tasks" : ["a" ]}})
7576class JobModelMethodTestCase (TestCase ):
7677 def test_get_queue_depths (self ):
7778 Job .objects .create (name = "testjob" , queue_name = "default" )
7879 Job .objects .create (name = "testjob" , queue_name = "testworker" )
79- Job .objects .create (name = "testjob" , queue_name = "testworker" )
80+ Job .objects .create (
81+ name = "testjob" ,
82+ queue_name = "testworker" ,
83+ run_after = timezone .make_aware (datetime (2025 , 1 , 1 , 13 , 0 , 0 )),
84+ )
8085 Job .objects .create (
8186 name = "testjob" , queue_name = "testworker" , state = Job .STATES .FAILED
8287 )
@@ -87,6 +92,24 @@ def test_get_queue_depths(self):
8792 queue_depths = Job .get_queue_depths ()
8893 self .assertDictEqual (queue_depths , {"default" : 1 , "testworker" : 2 })
8994
95+ def test_get_queue_depths_exclude_future_jobs (self ):
96+ Job .objects .create (name = "testjob" , queue_name = "default" )
97+ Job .objects .create (name = "testjob" , queue_name = "testworker" )
98+ Job .objects .create (
99+ name = "testjob" ,
100+ queue_name = "testworker" ,
101+ run_after = timezone .make_aware (datetime (2025 , 1 , 1 , 13 , 0 , 0 )),
102+ )
103+ Job .objects .create (
104+ name = "testjob" , queue_name = "testworker" , state = Job .STATES .FAILED
105+ )
106+ Job .objects .create (
107+ name = "testjob" , queue_name = "testworker" , state = Job .STATES .COMPLETE
108+ )
109+
110+ queue_depths = Job .get_queue_depths (exclude_future_jobs = True )
111+ self .assertDictEqual (queue_depths , {"default" : 1 , "testworker" : 1 })
112+
90113
91114@override_settings (JOBS = {"testjob" : {"tasks" : ["a" ]}})
92115class QueueDepthTestCase (TestCase ):
0 commit comments