Python redis准备好了

时间:2014-04-17 13:03:30

标签: python redis

我有一个大约一年前编写的python应用程序,使用redis并且运行完美。

我刚刚升级了系统O / S(ARCH),现在,除非我在加载初始redis变量之前添加了10秒的延迟,否则python脚本无法启动。

日志文件显示最后一个条目是' 1.Initialized:REDIS'并且脚本似乎退出,我看到没有错误,它只是死了。

奇怪的是,以前从未需要这个,而且我不确定为什么现在需要它?!

## Initilaize Redis
time.sleep(10)
global rc
rc = redis.StrictRedis(host='localhost', port=6379, db=0)
logger.info('1.Initialized: REDIS')

## Load Globals
global gdata
gdata = rc.hgetall('global')
logger.info('2.Loaded: GLOBALS')

在继续进行数据检索之前,是否可以等到redis准备就绪,而不是使用固定的延迟?

似乎任何尝试在活动之前进行redis调用都会导致崩溃

我尝试过使用ping,但这也会终止脚本:

编辑 - 这可行

## Wait for REDIS LIVE
ping = False
while ping == False:
    try:
      ping = rc.ping()
    except:
      pass
    logger.info(str('Redis Alive:'+str(ping)))
    time.sleep(1)

0 个答案:

没有答案