def main():
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--config", type=str, help="Configuration file")
args = parser.parse_args()
starttime = time.time()
# Store opened shell sessions
shells = {}
# FIXME redis connection settings should be in config
redis_conn = redis.StrictRedis()
p = redis_conn.connection_pool
publish = gevent.spawn(publisher, redis_conn)
# FIXME: use config
workers = 2
log.info(_("Spawning %s greenlets connecting to Redis..."), workers)
redis_greenlets = [gevent.spawn(execute_workflow, redis_conn, _id, shells)
for _id in xrange(workers)]
# Wait until all greenlets have started and connected.
gevent.sleep(1)
log.info(_("# active `threading` threads: %s") % threading.active_count())
log.info(_("# Redis connections created: %s") % p._created_connections)
log.info(_("# Redis connections in use: %s") % len(p._in_use_connections))
log.info(_("# Redis connections available: %s") % len(p._available_connections))
log.info(_("Waiting for Redis connection greenlets to terminate..."))
gevent.joinall(redis_greenlets)
d = time.time() - starttime
log.info(_("All Redis connection greenlets terminated. Duration: %.2f s.") % d)
publish.kill()
评论列表
文章目录