Add request timeout to JSONRPC backend

This commit is contained in:
Michał Sałaban 2019-05-11 00:41:10 +02:00
parent 64149f6323
commit 010408dcf9
8 changed files with 27 additions and 13 deletions

View file

@ -17,6 +17,7 @@ def get_daemon():
argsparser = argparse.ArgumentParser(description="Display daemon info")
argsparser.add_argument('daemon_rpc_url', nargs='?', type=url_data, default='127.0.0.1:18081',
help="Daemon RPC URL [host[:port]]")
argsparser.add_argument('-t', dest='timeout', type=int, default=30, help="Request timeout")
argsparser.add_argument('-v', dest='verbosity', action='count', default=0,
help="Verbosity (repeat to increase; -v for INFO, -vv for DEBUG")
args = argsparser.parse_args()
@ -26,7 +27,7 @@ def get_daemon():
elif args.verbosity > 1:
level = logging.DEBUG
logging.basicConfig(level=level, format="%(asctime)-15s %(message)s")
return Daemon(JSONRPCDaemon(**args.daemon_rpc_url))
return Daemon(JSONRPCDaemon(timeout=args.timeout, **args.daemon_rpc_url))
d = get_daemon()
info = d.info()

View file

@ -21,6 +21,7 @@ argsparser.add_argument('daemon_rpc_url', nargs='?', type=url_data, default='127
help="Daemon RPC URL [host[:port]]")
argsparser.add_argument('-v', dest='verbosity', action='count', default=0,
help="Verbosity (repeat to increase; -v for INFO, -vv for DEBUG")
argsparser.add_argument('-t', dest='timeout', type=int, default=30, help="Request timeout")
argsparser.add_argument('-i', dest='tx_filenames', nargs='+', default=None,
help="Files with transaction data. Will read from stdin if not given.")
argsparser.add_argument('--no-relay', dest='relay', action='store_false',
@ -36,7 +37,7 @@ if args.tx_filenames:
blobs = [(f, open(f, 'r').read()) for f in args.tx_filenames]
else:
blobs = [('transaction', sys.stdin.read())]
d = Daemon(JSONRPCDaemon(**args.daemon_rpc_url))
d = Daemon(JSONRPCDaemon(timeout=args.timeout, **args.daemon_rpc_url))
for name, blob in blobs:
logging.debug("Sending {}".format(name))
tx = Transaction(blob=blob)

View file

@ -28,6 +28,7 @@ argsparser.add_argument('-v', dest='verbosity', action='count', default=0,
help="Verbosity (repeat to increase; -v for INFO, -vv for DEBUG")
argsparser.add_argument('wallet_rpc_url', nargs='?', type=url_data, default='127.0.0.1:18082',
help="Daemon URL [user[:password]@]host[:port]")
argsparser.add_argument('-t', dest='timeout', type=int, default=30, help="Request timeout")
argsparser.add_argument('-a', dest='account', default=0, type=int, help="Source account index")
argsparser.add_argument('-p', dest='prio',
choices=['unimportant', 'normal', 'elevated', 'priority'],
@ -50,7 +51,7 @@ elif args.verbosity > 1:
level = logging.DEBUG
logging.basicConfig(level=level, format="%(asctime)-15s %(message)s")
w = Wallet(JSONRPCWallet(**args.wallet_rpc_url))
w = Wallet(JSONRPCWallet(timeout=args.timeout, **args.wallet_rpc_url))
txns = w.accounts[args.account].transfer_multiple(
args.destinations, priority=prio, payment_id=args.payment_id,
relay=args.outdir is None)

View file

@ -20,6 +20,7 @@ def get_wallet():
help="Wallet RPC URL [user[:password]@]host[:port]")
argsparser.add_argument('-v', dest='verbosity', action='count', default=0,
help="Verbosity (repeat to increase; -v for INFO, -vv for DEBUG")
argsparser.add_argument('-t', dest='timeout', type=int, default=30, help="Request timeout")
args = argsparser.parse_args()
level = logging.WARNING
if args.verbosity == 1:
@ -27,7 +28,7 @@ def get_wallet():
elif args.verbosity > 1:
level = logging.DEBUG
logging.basicConfig(level=level, format="%(asctime)-15s %(message)s")
return Wallet(JSONRPCWallet(**args.wallet_rpc_url))
return Wallet(JSONRPCWallet(timeout=args.timeout, **args.wallet_rpc_url))
_TXHDR = "timestamp height id/hash " \
" amount fee {dir:95s} payment_id"