Exemple #1
0
 def process(self, request):
     task = Task(self, request)
     self.listener.task_created(task)
     if self.workers.are_available:
         task.accept()
         worker = self.workers.acquire_one()
         task.assign_to(worker)
     else:
         self.tasks.put(task)
Exemple #2
0
 def fake_request(self,
                  operation,
                  on_success=lambda: None,
                  on_error=lambda: None):
     request = SQuery(Task(self.fake_client()), operation, 1,
                      lambda s: None)
     request.on_error = on_error
     request.on_success = on_success
     return request
Exemple #3
0
 def process(self, request):
     self.listener.arrival_of(request)
     task = Task(request)
     if self.workers.are_available:
         request.accept()
         worker = self.workers.acquire_one()
         worker.assign(task)
     else:
         self.tasks.put(task)
Exemple #4
0
    def do_test_response_time(self, sent_at, replied_at):
        sender = MagicMock()
        type(sender.schedule).time_now = PropertyMock(side_effect = [sent_at, replied_at] )
        request = Query(Task(sender), "foo_operation", 1, lambda s: None)

        recipient = MagicMock()

        request.send_to(recipient)
        request.reply_success()

        self.assertEqual(replied_at - sent_at, request.response_time)
Exemple #5
0
    def test_response_time_on_error(self):
        sender = MagicMock()
        sender.schedule.time = MagicMock(return_value = (5, 10, 15))
        request = Query(Task(sender), "foo_operation", 1, lambda s: None)

        recipient = MagicMock()

        request.send_to(recipient)
        request.reply_error()

        with self.assertRaises(AssertionError):
            request.response_time
    def invoke(self):
        def post_processing(result):
            if result.is_successful:
                self.on_success()
            elif result.is_erroneous:
                self.on_error()
            else:
                pass

        self.environment.define(Symbols.TASK, Task())
        env = self.environment.create_local_environment(self.environment)
        env.define(Symbols.WORKER, self)
        Evaluation(env, self.body, self.factory, post_processing).result
Exemple #7
0
 def process(self, request):
     task = Task(self, request)
     self.listener.task_created(task)
     if self.workers.are_available:
         task.accept()
         worker = self.workers.acquire_one()
         task.assign_to(worker)
     else:
         self.tasks.put(task)
Exemple #8
0
 def a_running_task(self):
     task = Task(self.fake_client())
     task.status = TaskStatus.BLOCKED  # A regular evaluation would block it after sending the request
     return task
Exemple #9
0
 def a_running_task(self):
     task = Task(self.fake_client())
     task.status = TaskStatus.BLOCKED # A regular evaluation would block it after sending the request
     return task
Exemple #10
0
 def invoke(self):
     task = Task(self, ClientRequest())
     task.accept()
     task.assign_to(self._new_worker())
Exemple #11
0
 def invoke(self):
     task = Task(self, ClientRequest())
     task.accept()
     task.assign_to(self._new_worker())