@@ -111,15 +111,19 @@ def test_get_queue_depths_exclude_future_jobs(self):
111
111
self .assertDictEqual (queue_depths , {"default" : 1 , "testworker" : 1 })
112
112
113
113
114
+ @freezegun .freeze_time ("2025-01-01T12:00:00Z" )
114
115
@override_settings (JOBS = {"testjob" : {"tasks" : ["a" ]}})
115
116
class QueueDepthTestCase (TestCase ):
116
117
def test_queue_depth (self ):
117
-
118
118
Job .objects .create (name = "testjob" , state = Job .STATES .FAILED )
119
119
Job .objects .create (name = "testjob" , state = Job .STATES .NEW )
120
120
Job .objects .create (name = "testjob" , state = Job .STATES .FAILED )
121
121
Job .objects .create (name = "testjob" , state = Job .STATES .COMPLETE )
122
- Job .objects .create (name = "testjob" , state = Job .STATES .READY )
122
+ Job .objects .create (
123
+ name = "testjob" ,
124
+ state = Job .STATES .READY ,
125
+ run_after = timezone .make_aware (datetime (2025 , 1 , 1 , 13 , 0 , 0 )),
126
+ )
123
127
Job .objects .create (
124
128
name = "testjob" , queue_name = "testqueue" , state = Job .STATES .READY
125
129
)
@@ -132,6 +136,28 @@ def test_queue_depth(self):
132
136
output = stdout .getvalue ()
133
137
self .assertEqual (output .strip (), "event=queue_depths default=2" )
134
138
139
+ def test_queue_depth_exclude_future_jobs (self ):
140
+ Job .objects .create (name = "testjob" , state = Job .STATES .FAILED )
141
+ Job .objects .create (name = "testjob" , state = Job .STATES .NEW )
142
+ Job .objects .create (name = "testjob" , state = Job .STATES .FAILED )
143
+ Job .objects .create (name = "testjob" , state = Job .STATES .COMPLETE )
144
+ Job .objects .create (
145
+ name = "testjob" ,
146
+ state = Job .STATES .READY ,
147
+ run_after = timezone .make_aware (datetime (2025 , 1 , 1 , 13 , 0 , 0 )),
148
+ )
149
+ Job .objects .create (
150
+ name = "testjob" , queue_name = "testqueue" , state = Job .STATES .READY
151
+ )
152
+ Job .objects .create (
153
+ name = "testjob" , queue_name = "testqueue" , state = Job .STATES .READY
154
+ )
155
+
156
+ stdout = StringIO ()
157
+ call_command ("queue_depth" , exclude_future_jobs = True , stdout = stdout )
158
+ output = stdout .getvalue ()
159
+ self .assertEqual (output .strip (), "event=queue_depths default=1" )
160
+
135
161
def test_queue_depth_multiple_queues (self ):
136
162
137
163
Job .objects .create (name = "testjob" , state = Job .STATES .FAILED )
0 commit comments