Exemple #1
0
class TestScheduleJob(TestCase):
    def setUp(self):
        self.task = Task(ModelStub())
        
    def test_schedule_job_with_scheduled_time(self):
        # Arrange
        scheduled_time = datetime.now()
        # Ack
        self.task.schedule(scheduled_time) 
        # Assert
        self.assertEqual(scheduled_time, self.task.scheduled)
Exemple #2
0
class ScheduleJob(object):
    def __init__(self, time_to_execute, job, function, args = [], kwargs = {}):
        # pre conditions here
        self.function = function
        self.args = args
        self.kwargs = kwargs
        self.time_to_execute = time_to_execute
        # assign roles
        self.job = Task(job)

    def __enter__(self):
        self.job.set_call(self.function, *self.args, **self.kwargs)
        if self.time_to_execute:
            self.job.schedule(self.time_to_execute)
        return self

    def __exit__(self, type, value, traceback):
        Task.revoke(self.job)
        self.job.save()