|
@@ -51,8 +51,9 @@ def get_args():
|
|
|
help='API-Server Hostname')
|
|
|
parser.add_argument('--api-bind-port', type=int, default=8888,
|
|
|
help='API-Server Port')
|
|
|
- parser.add_argument('-S', '--storage-dir', default='.',
|
|
|
- help='Path where to store data')
|
|
|
+ parser.add_argument('-S', '--storage', default='.',
|
|
|
+ help='Path where to store data or ' +
|
|
|
+ '"redis:[<host>[:<port>[:<password>]]]')
|
|
|
return parser.parse_args()
|
|
|
|
|
|
|
|
@@ -90,7 +91,16 @@ def main():
|
|
|
logger = prepare_logging(args)
|
|
|
logger.info('Starting up')
|
|
|
|
|
|
- storage = FileStorage(args.storage_dir)
|
|
|
+ storage = None
|
|
|
+ storage_target = args.storage
|
|
|
+ if storage_target.startswith('redis:'):
|
|
|
+ redis_opts = storage_target.split(':')
|
|
|
+ redis_host = redis_opts[1] if len(redis_opts) > 1 else 'localhost'
|
|
|
+ redis_port = int(redis_opts[2]) if len(redis_opts) > 2 else 6379
|
|
|
+ redis_pass = redis_opts[3] if len(redis_opts) > 3 else None
|
|
|
+ storage = RedisStorage(redis_host, redis_port, redis_pass)
|
|
|
+ else:
|
|
|
+ storage = FileStorage(args.storage)
|
|
|
storage.open()
|
|
|
logger.info('Storage: ' + str(storage))
|
|
|
|