diff options
-rw-r--r-- | tools/worker.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/worker.py b/tools/worker.py new file mode 100644 index 0000000..133558e --- /dev/null +++ b/tools/worker.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +import os +import os.path +import sys + +import redis +import rq + +# Workaround current bug in docutils: +# http://permalink.gmane.org/gmane.text.docutils.devel/6324 +import docutils.utils + +# Make sure our PyPI directory is on the sys.path +root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +sys.path = [root] + sys.path + +import config + + +conf = config.Config(os.environ.get("PYPI_CONFIG", "/data/pypi/config.ini")) +redis_conn = redis.Redis.from_url(conf.redis_url) + +if sys.argv[1:]: + queues = [rq.Queue(name, connection=redis_conn) for name in sys.argv[1:]] +else: + queues = [rq.Queue(connection=redis_conn)] + +worker = rq.Worker(queues, connection=redis_conn) +worker.work() |