diff --git a/django_q/brokers/__init__.py b/django_q/brokers/__init__.py index 6609e5e..c7c592b 100644 --- a/django_q/brokers/__init__.py +++ b/django_q/brokers/__init__.py @@ -158,28 +158,32 @@ def get_broker(list_key=Conf.PREFIX): :type list_key: str :return: """ - # disque - if Conf.DISQUE_NODES: - from brokers import disque - return disque.Disque(list_key=list_key) - elif Conf.IRON_MQ: - from brokers import ironmq - return ironmq.IronMQBroker(list_key=list_key) - elif Conf.SQS: - from brokers import aws_sqs - return aws_sqs.Sqs(list_key=list_key) - elif Conf.ORM: - from brokers import orm - return orm.ORM(list_key=list_key) - elif Conf.MONGO: - from brokers import mongo - return mongo.Mongo(list_key=list_key) - elif Conf.BROKER: + # custom + if Conf.BROKER: module, func = Conf.BROKER.rsplit('.', 1) m = importlib.import_module(module) broker = getattr(m, func) return broker(list_key=list) - + # disque + elif Conf.DISQUE_NODES: + from brokers import disque + return disque.Disque(list_key=list_key) + # Iron MQ + elif Conf.IRON_MQ: + from brokers import ironmq + return ironmq.IronMQBroker(list_key=list_key) + # SQS + elif Conf.SQS: + from brokers import aws_sqs + return aws_sqs.Sqs(list_key=list_key) + # ORM + elif Conf.ORM: + from brokers import orm + return orm.ORM(list_key=list_key) + # Mongo + elif Conf.MONGO: + from brokers import mongo + return mongo.Mongo(list_key=list_key) # default to redis else: from brokers import redis_broker