strategy.py 731 B

1234567891011121314151617181920212223242526
  1. # -*- coding: utf-8 -*-
  2. """
  3. celery.worker.strategy
  4. ~~~~~~~~~~~~~~~~~~~~~~
  5. Task execution strategy (optimization).
  6. """
  7. from __future__ import absolute_import
  8. from .job import Request
  9. def default(task, app, consumer):
  10. hostname = consumer.hostname
  11. eventer = consumer.event_dispatcher
  12. Req = Request
  13. handle = consumer.on_task
  14. connection_errors = consumer.connection_errors
  15. def task_message_handler(message, body, ack):
  16. handle(Req(body, on_ack=ack, app=app, hostname=hostname,
  17. eventer=eventer, task=task,
  18. connection_errors=connection_errors,
  19. delivery_info=message.delivery_info))
  20. return task_message_handler