task.py 739 B

123456789101112131415161718192021
  1. from carrot.connection import DjangoAMQPConnection
  2. from crunchy.messaging import TaskPublisher, TaskConsumer
  3. from crunchy.registry import tasks
  4. from crunchy.discovery import autodiscover
  5. def delay_task(task_name, **kwargs):
  6. #if task_name not in tasks:
  7. # raise tasks.NotRegistered(
  8. # "Task with name %s not registered in the task registry." % (
  9. # task_name))
  10. publisher = TaskPublisher(connection=DjangoAMQPConnection)
  11. task_id = publisher.delay_task(task_name, **kwargs)
  12. publisher.close()
  13. return task_id
  14. def discard_all():
  15. consumer = TaskConsumer(connection=DjangoAMQPConnection)
  16. discarded_count = consumer.discard_all()
  17. consumer.close()
  18. return discarded_count