@@ -643,27 +643,37 @@ class TestCronJob(BaseTestCases.TestBaseJob):
643
643
TaskModelClass = CronTask
644
644
645
645
def test_clean (self ):
646
- task = task_factory (self . TaskModelClass )
646
+ task = task_factory (CronTask )
647
647
task .cron_string = '* * * * *'
648
648
task .queue = list (settings .QUEUES )[0 ]
649
649
task .callable = 'scheduler.tests.jobs.test_job'
650
650
self .assertIsNone (task .clean ())
651
651
652
652
def test_clean_cron_string_invalid (self ):
653
- task = task_factory (self . TaskModelClass )
653
+ task = task_factory (CronTask )
654
654
task .cron_string = 'not-a-cron-string'
655
655
task .queue = list (settings .QUEUES )[0 ]
656
656
task .callable = 'scheduler.tests.jobs.test_job'
657
657
with self .assertRaises (ValidationError ):
658
658
task .clean_cron_string ()
659
659
660
660
def test_repeat (self ):
661
- task = task_factory (self . TaskModelClass , repeat = 10 )
661
+ task = task_factory (CronTask , repeat = 10 )
662
662
entry = _get_job_from_scheduled_registry (task )
663
663
self .assertEqual (entry .meta ['repeat' ], 10 )
664
664
665
665
def test_check_rescheduled_after_execution (self ):
666
- task = task_factory (self .TaskModelClass , )
666
+ task = task_factory (CronTask , )
667
+ queue = task .rqueue
668
+ first_run_id = task .job_id
669
+ entry = queue .fetch_job (first_run_id )
670
+ queue .run_sync (entry )
671
+ task .refresh_from_db ()
672
+ self .assertTrue (task .is_scheduled ())
673
+ self .assertNotEqual (task .job_id , first_run_id )
674
+
675
+ def test_check_rescheduled_after_failed_execution (self ):
676
+ task = task_factory (CronTask , callable_name = "scheduler.tests.jobs.scheduler.tests.jobs.test_job" , )
667
677
queue = task .rqueue
668
678
first_run_id = task .job_id
669
679
entry = queue .fetch_job (first_run_id )
@@ -676,7 +686,7 @@ def test_cron_task_enqueuing_jobs(self):
676
686
queue = get_queue ()
677
687
prev_queued = len (queue .scheduled_job_registry )
678
688
prev_finished = len (queue .finished_job_registry )
679
- task = task_factory (self . TaskModelClass , callable_name = 'scheduler.tests.jobs.enqueue_jobs' )
689
+ task = task_factory (CronTask , callable_name = 'scheduler.tests.jobs.enqueue_jobs' )
680
690
self .assertEqual (prev_queued + 1 , len (queue .scheduled_job_registry ))
681
691
first_run_id = task .job_id
682
692
entry = queue .fetch_job (first_run_id )
0 commit comments