def get_redis_or_None(): def emit_no_redis_msg(reason): global _no_redis_msg_emitted if not _no_redis_msg_emitted: sys.stderr.write("\n" + _no_redis_msg % reason + "\n") _no_redis_msg_emitted = True if pyredis.redis is None: return emit_no_redis_msg("not installed") try: tb = RedisBackend(redis_db="celery_unittest") try: tb.open() except pyredis.redis.ConnectionError, exc: return emit_no_redis_msg("not running") return tb
def get_redis_or_SkipTest(): def emit_no_redis_msg(reason): global _no_redis_msg_emitted if not _no_redis_msg_emitted: sys.stderr.write("\n" + _no_redis_msg % reason + "\n") _no_redis_msg_emitted = True if pyredis.redis is None: emit_no_redis_msg("not installed") raise SkipTest("redis library not installed") try: tb = RedisBackend(redis_db="celery_unittest") try: tb.open() # Evaluate lazy connection tb._connection.connection.connect(tb._connection) except ConnectionError, exc: emit_no_redis_msg("not running") raise SkipTest("can't connect to redis: %s" % (exc, )) return tb