messaging.py 701 B

1234567891011121314151617181920212223242526
  1. from carrot.messaging import Publisher, Consumer
  2. import uuid
  3. class TaskPublisher(Publisher):
  4. queue = "crunchy"
  5. exchange = "crunchy"
  6. routing_key = "crunchy"
  7. def delay_task(self, task_name, **kwargs):
  8. task_id = uuid.uuid4()
  9. message_data = dict(kwargs)
  10. message_data["crunchTASK"] = task_name
  11. message_data["crunchID"] = str(task_id)
  12. self.send(message_data)
  13. return task_id
  14. class TaskConsumer(Consumer):
  15. queue = "crunchy"
  16. exchange = "crunchy"
  17. routing_key = "crunchy"
  18. def receive(self, message_data, message):
  19. raise NotImplementedError(
  20. "Don't use process_next() or wait() with the TaskConsumer!")