示例#1
0
文件: service.py 项目: fchauvel/MAD
 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)
示例#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
示例#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)
示例#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)
示例#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
示例#6
0
    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
示例#7
0
文件: service.py 项目: fchauvel/MAD
 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)
示例#8
0
文件: commons.py 项目: fchauvel/MAD
 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
示例#9
0
文件: commons.py 项目: fchauvel/MAD
 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
示例#10
0
文件: client.py 项目: fchauvel/MAD
 def invoke(self):
     task = Task(self, ClientRequest())
     task.accept()
     task.assign_to(self._new_worker())
示例#11
0
 def invoke(self):
     task = Task(self, ClientRequest())
     task.accept()
     task.assign_to(self._new_worker())