strategy.py 565 B

123456789101112131415161718192021
  1. from .job import TaskRequest
  2. from ..utils.coroutine import coroutine
  3. def default(task, app, consumer):
  4. @coroutine
  5. def task_message_handler(self):
  6. logger = consumer.logger
  7. hostname = consumer.hostname
  8. eventer = consumer.event_dispatcher
  9. Request = TaskRequest.from_message
  10. handle = consumer.on_task
  11. while 1:
  12. M, B, A = (yield)
  13. handle(Request(M, B, A, app=app, logger=logger,
  14. hostname=hostname, eventer=eventer))
  15. return task_message_handler()