def sendMultiRequests(process_id): """ send trans request """ client = TransactionCommon("", contract_path, contract_name) executor = ThreadPoolExecutor(max_workers=10) for i in range(0, step): executor.submit(sendRequest, (client)) print("process {}, send {}%, tx_num: {}".format(process_id, step * 100 / total_count, step)) executor.shutdown(True) print("\t\t process {}, receive {} %, tx_num:{}".format( process_id, step * 100 / total_count, step))
def main(argv): """ 1. deploy Ok.sol 2. send transactions: set """ # deploy Ok contract gasPrice = 30000000 client = TransactionCommon("", contract_path, contract_name) result = client.send_transaction_getReceipt(None, None, gasPrice, True)[0] contract_addr = result['contractAddress'] client.set_contract_addr(contract_addr) pool = multiprocessing.Pool(process_num) args_list = [] for i in range(0, process_num): args_list.append(i) pool.map(sendMultiRequests, args_list) pool.close() pool.join() client.finish()