コード例 #1
0
 def save_model(self, request, obj, form, change):
     obj.user = request.user
     if not obj.run_at and obj.id:
         periodic_task_remove('delay_%s' % obj.id)
     if obj.run_at:
         obj.save()
         delay_task_generator(obj.id, obj.run_at)
     functions = {
         1: generate_cron_never,
         2: generate_cron_daily,
         3: generate_cron_weekly,
         4: generate_cron_monthly,
     }
     cron_string = functions.get(obj.repeat_each, generate_cron_never)(
         day=obj.repeat_each_day,
         weekday=obj.repeat_each_weekday,
         hour_min=obj.repeat_at,
     )
     if obj.cron != cron_string:  # cron changed
         obj.save()
         obj.cron = cron_string
         if obj.cron:
             periodic_task_generator(obj.id, obj.cron)
         else:
             periodic_task_remove(obj.id)
     obj.save()
コード例 #2
0
    def test_task_generator(self, mock_set_cron, mock_set_interval):
        self.assertFalse(mock_set_cron.called)
        self.assertFalse(mock_set_interval.called)

        PeriodicTask.objects.all().delete()
        init_count = PeriodicTask.objects.count()
        # simple cron task
        periodic_task_generator('222', '35 * * * *')
        self.assertEqual(init_count + 1, PeriodicTask.objects.count())
        self.assertTrue(mock_set_cron.called)
        self.assertFalse(mock_set_interval.called)
        # monthly task - special case
        periodic_task_generator('222', '35 * 5 * *')
        self.assertEqual(init_count + 1, PeriodicTask.objects.count())
        self.assertTrue(mock_set_interval.called)
コード例 #3
0
    def test_task_generator(self, mock_set_cron, mock_set_interval):
        self.assertFalse(mock_set_cron.called)
        self.assertFalse(mock_set_interval.called)

        PeriodicTask.objects.all().delete()
        init_count = PeriodicTask.objects.count()
        # simple cron task
        periodic_task_generator('222', '35 * * * *')
        self.assertEqual(init_count + 1, PeriodicTask.objects.count())
        self.assertTrue(mock_set_cron.called)
        self.assertFalse(mock_set_interval.called)
        # monthly task - special case
        periodic_task_generator('222', '35 * 5 * *')
        self.assertEqual(init_count + 1, PeriodicTask.objects.count())
        self.assertTrue(mock_set_interval.called)
コード例 #4
0
ファイル: admin.py プロジェクト: andresriancho/w3af-webui
 def save_model(self, request, obj, form, change):
     obj.user = request.user
     if not obj.run_at and obj.id:
         periodic_task_remove('delay_%s' % obj.id)
     if obj.run_at:
         obj.save()
         delay_task_generator(obj.id, obj.run_at)
     functions = {1: generate_cron_never,
                  2: generate_cron_daily,
                  3: generate_cron_weekly,
                  4: generate_cron_monthly,}
     cron_string = functions.get(obj.repeat_each, generate_cron_never)(
                                         day=obj.repeat_each_day,
                                         weekday=obj.repeat_each_weekday,
                                         hour_min=obj.repeat_at,
                                         )
     if obj.cron != cron_string: # cron changed
         obj.save()
         obj.cron = cron_string
         if obj.cron:
             periodic_task_generator(obj.id, obj.cron)
         else:
             periodic_task_remove(obj.id)
     obj.save()