@@ -71,12 +71,12 @@ def test_schedule_spider(self, mocked_super_schedule_spider, mocked_add_job_tags
71
71
mocked_super_schedule_spider .assert_any_call ("myspider" , units = None , job_settings = {})
72
72
73
73
# second loop: spider still running. Continue.
74
- manager .is_finished = lambda x : None
74
+ manager .is_finished = lambda jobkey : None
75
75
result = next (manager ._run_loops ())
76
76
self .assertTrue (result )
77
77
78
78
# third loop: spider is finished. Stop.
79
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/1" else None
79
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/1" else None
80
80
mocked_super_schedule_spider .reset_mock ()
81
81
result = next (manager ._run_loops ())
82
82
@@ -116,12 +116,12 @@ def test_schedule_spider_bad_outcome(self, mocked_super_schedule_spider, mocked_
116
116
mocked_super_schedule_spider .assert_any_call ("myspider" , units = None , job_settings = {})
117
117
118
118
# second loop: spider still running. Continue.
119
- manager .is_finished = lambda x : None
119
+ manager .is_finished = lambda jobkey : None
120
120
result = next (manager ._run_loops ())
121
121
self .assertTrue (result )
122
122
123
123
# third loop: spider is cancelled. Stop. Manager must be closed with cancelled close reason
124
- manager .is_finished = lambda x : Outcome ("cancelled" ) if x == "999/1/1" else None
124
+ manager .is_finished = lambda jobkey : Outcome ("cancelled" ) if jobkey == "999/1/1" else None
125
125
mocked_super_schedule_spider .reset_mock ()
126
126
result = next (manager ._run_loops ())
127
127
@@ -155,12 +155,12 @@ def test_schedule_spider_with_resume(self, mocked_super_schedule_spider, mocked_
155
155
mocked_add_job_tags .assert_any_call (tags = ["FLOW_ID=3a20" , "NAME=test" , "OTHER=other" ])
156
156
157
157
# first loop: spider still running in workflow. Continue.
158
- manager .is_finished = lambda x : None
158
+ manager .is_finished = lambda jobkey : None
159
159
result = next (manager ._run_loops ())
160
160
self .assertTrue (result )
161
161
162
162
# second loop: spider is finished. Stop.
163
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/1" else None
163
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/1" else None
164
164
result = next (manager ._run_loops ())
165
165
166
166
self .assertFalse (result )
@@ -203,14 +203,14 @@ def test_schedule_spider_with_resume_not_owned(
203
203
self .assertEqual (len (manager ._running_job_keys ), 0 )
204
204
205
205
# first loop: no spider, schedule one.
206
- manager .is_finished = lambda x : None
206
+ manager .is_finished = lambda jobkey : None
207
207
mocked_super_schedule_spider .side_effect = ["999/1/2" ]
208
208
result = next (manager ._run_loops ())
209
209
self .assertTrue (result )
210
210
self .assertEqual (mocked_super_schedule_spider .call_count , 1 )
211
211
212
212
# second loop: spider is finished. Stop.
213
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/2" else None
213
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/2" else None
214
214
result = next (manager ._run_loops ())
215
215
216
216
self .assertFalse (result )
@@ -231,12 +231,12 @@ def test_schedule_spider_periodic(self, mocked_super_schedule_spider, mocked_add
231
231
mocked_super_schedule_spider .assert_any_call ("myspider" , units = None , job_settings = {})
232
232
233
233
# second loop: spider still running. Continue.
234
- manager .is_finished = lambda x : None
234
+ manager .is_finished = lambda jobkey : None
235
235
result = next (manager ._run_loops ())
236
236
self .assertTrue (result )
237
237
238
238
# third loop: spider is finished. Schedule again.
239
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/1" else None
239
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/1" else None
240
240
mocked_super_schedule_spider .reset_mock ()
241
241
mocked_super_schedule_spider .side_effect = ["999/1/2" ]
242
242
result = next (manager ._run_loops ())
@@ -245,7 +245,7 @@ def test_schedule_spider_periodic(self, mocked_super_schedule_spider, mocked_add
245
245
mocked_super_schedule_spider .assert_any_call ("myspider" , units = None , job_settings = {})
246
246
247
247
# four loop: spider is cancelled. Schedule again.
248
- manager .is_finished = lambda x : Outcome ("cancelled" ) if x == "999/1/2" else None
248
+ manager .is_finished = lambda jobkey : Outcome ("cancelled" ) if jobkey == "999/1/2" else None
249
249
mocked_super_schedule_spider .reset_mock ()
250
250
mocked_super_schedule_spider .side_effect = ["999/1/3" ]
251
251
result = next (manager ._run_loops ())
@@ -276,13 +276,13 @@ def test_schedule_spider_list_bad_outcome_hook(
276
276
)
277
277
278
278
# second loop: still no job finished. Wait for a free slot
279
- manager .is_finished = lambda x : None
279
+ manager .is_finished = lambda jobkey : None
280
280
result = next (manager ._run_loops ())
281
281
self .assertTrue (result )
282
282
self .assertEqual (mocked_super_schedule_spider .call_count , 2 )
283
283
284
284
# third loop: finish one job. We can schedule last one with third set of arguments
285
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/1" else None
285
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/1" else None
286
286
result = next (manager ._run_loops ())
287
287
self .assertTrue (result )
288
288
self .assertEqual (mocked_super_schedule_spider .call_count , 3 )
@@ -297,7 +297,7 @@ def test_schedule_spider_list_bad_outcome_hook(
297
297
298
298
# fifth loop: second job finished with failed outcome. Retry according
299
299
# to bad outcome hook
300
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" ) if x == "999/1/2" else None
300
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" ) if jobkey == "999/1/2" else None
301
301
result = next (manager ._run_loops ())
302
302
self .assertTrue (result )
303
303
self .assertEqual (mocked_super_schedule_spider .call_count , 4 )
@@ -306,13 +306,13 @@ def test_schedule_spider_list_bad_outcome_hook(
306
306
)
307
307
308
308
# sixth loop: third job finished.
309
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/3" else None
309
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/3" else None
310
310
result = next (manager ._run_loops ())
311
311
self .assertTrue (result )
312
312
self .assertEqual (mocked_super_schedule_spider .call_count , 4 )
313
313
314
314
# seventh loop: retried job failed again. Retry with new argument.
315
- manager .is_finished = lambda x : Outcome ("memusage_exceeded" ) if x == "999/1/4" else None
315
+ manager .is_finished = lambda jobkey : Outcome ("memusage_exceeded" ) if jobkey == "999/1/4" else None
316
316
result = next (manager ._run_loops ())
317
317
self .assertTrue (result )
318
318
self .assertEqual (mocked_super_schedule_spider .call_count , 5 )
@@ -321,7 +321,7 @@ def test_schedule_spider_list_bad_outcome_hook(
321
321
)
322
322
323
323
# eighth loop: retried job finished. Exit.
324
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/1/5" else None
324
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/1/5" else None
325
325
result = next (manager ._run_loops ())
326
326
self .assertFalse (result )
327
327
self .assertEqual (mocked_super_schedule_spider .call_count , 5 )
@@ -449,7 +449,7 @@ def set_parameters_gen(self):
449
449
self .assertEqual (len (manager ._running_job_keys ), 0 )
450
450
451
451
# first loop: only second task will be scheduled. First one already completed before resuming.
452
- manager .is_finished = lambda x : None
452
+ manager .is_finished = lambda jobkey : None
453
453
result = next (manager ._run_loops ())
454
454
self .assertTrue (result )
455
455
self .assertEqual (mocked_super_schedule_spider .call_count , 1 )
@@ -458,7 +458,7 @@ def set_parameters_gen(self):
458
458
)
459
459
460
460
# second loop: finished second spider. Finish execution
461
- manager .is_finished = lambda x : Outcome ("finished" ) if x == "999/2/1" else None
461
+ manager .is_finished = lambda jobkey : Outcome ("finished" ) if jobkey == "999/2/1" else None
462
462
result = next (manager ._run_loops ())
463
463
self .assertEqual (mocked_super_schedule_spider .call_count , 1 )
464
464
self .assertFalse (result )
@@ -507,14 +507,14 @@ def set_parameters_gen(self):
507
507
self .assertEqual (set (v [1 ].keys ()), {"spider_args" , "tags" })
508
508
509
509
# first loop: acquire running job.
510
- manager .is_finished = lambda x : None
510
+ manager .is_finished = lambda jobkey : None
511
511
result = next (manager ._run_loops ())
512
512
self .assertTrue (result )
513
513
self .assertEqual (mocked_super_schedule_spider .call_count , 0 )
514
514
515
515
# second loop: second job finished with failed outcome. Retry according
516
516
# to bad outcome hook
517
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" )
517
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" )
518
518
mocked_super_schedule_spider .side_effect = ["999/2/2" ]
519
519
result = next (manager ._run_loops ())
520
520
self .assertTrue (result )
@@ -559,7 +559,7 @@ def set_parameters_gen(self):
559
559
)
560
560
561
561
# second loop: finish job with bad outcome, but there is no retry. Stop.
562
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" ) if x == "999/1/1" else None
562
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" ) if jobkey == "999/1/1" else None
563
563
result = next (manager ._run_loops ())
564
564
self .assertFalse (result )
565
565
self .assertEqual (mocked_super_schedule_spider .call_count , 1 )
@@ -602,7 +602,7 @@ def set_parameters_gen(self):
602
602
)
603
603
604
604
# second loop: finish first job with bad outcome, retry 1.
605
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" ) if x == "999/1/1" else None
605
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" ) if jobkey == "999/1/1" else None
606
606
mocked_super_schedule_spider .side_effect = ["999/1/2" ]
607
607
result = next (manager ._run_loops ())
608
608
self .assertTrue (result )
@@ -612,13 +612,13 @@ def set_parameters_gen(self):
612
612
)
613
613
614
614
# second loop: second job finishes with "cancelled", don't retry it.
615
- manager .is_finished = lambda x : Outcome ("cancelled" ) if x == "999/2/1" else None
615
+ manager .is_finished = lambda jobkey : Outcome ("cancelled" ) if jobkey == "999/2/1" else None
616
616
result = next (manager ._run_loops ())
617
617
self .assertTrue (result )
618
618
self .assertEqual (mocked_super_schedule_spider .call_count , 3 )
619
619
620
620
# third loop: first job finishes again with abnormal reason, retry it.
621
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" ) if x == "999/1/2" else None
621
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" ) if jobkey == "999/1/2" else None
622
622
mocked_super_schedule_spider .side_effect = ["999/1/3" ]
623
623
result = next (manager ._run_loops ())
624
624
self .assertTrue (result )
@@ -628,7 +628,7 @@ def set_parameters_gen(self):
628
628
)
629
629
630
630
# fourth loop: first job finishes again with abnormal reason, but max retries reached. Stop.
631
- manager .is_finished = lambda x : Outcome ("cancelled (stalled)" ) if x == "999/1/3" else None
631
+ manager .is_finished = lambda jobkey : Outcome ("cancelled (stalled)" ) if jobkey == "999/1/3" else None
632
632
result = next (manager ._run_loops ())
633
633
self .assertFalse (result )
634
634
self .assertEqual (mocked_super_schedule_spider .call_count , 4 )
0 commit comments