123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!c:\tools\python27\python.exe
- import os
- import sys
- from huey.consumer import Consumer
- from huey.consumer_options import ConsumerConfig
- from huey.consumer_options import OptionParserHandler
- from huey.utils import load_class
- def err(s):
- sys.stderr.write('\033[91m%s\033[0m\n' % s)
- def load_huey(path):
- try:
- return load_class(path)
- except:
- cur_dir = os.getcwd()
- if cur_dir not in sys.path:
- sys.path.insert(0, cur_dir)
- return load_huey(path)
- err('Error importing %s' % path)
- raise
- def consumer_main():
- parser_handler = OptionParserHandler()
- parser = parser_handler.get_option_parser()
- options, args = parser.parse_args()
- if len(args) == 0:
- err('Error: missing import path to `Huey` instance')
- err('Example: huey_consumer.py app.queue.huey_instance')
- sys.exit(1)
- options = {k: v for k, v in options.__dict__.items()
- if v is not None}
- config = ConsumerConfig(**options)
- config.validate()
- huey_instance = load_huey(args[0])
- config.setup_logger()
- consumer = huey_instance.create_consumer(**config.values)
- consumer.run()
- if __name__ == '__main__':
- consumer_main()
|