我是 Python 和 Fabric 的完整初学者。我有以下代码:
def initialise_clients( hostlist):
env.roledefs['clients']=hostlist
print hostlist
print("Setting up deployment: running on %d nodes \n" % len(hostlist))
create_jar()
def init_server(host):
env.roledefs['server'] = host
print "Initialising Server " + host
实例化为:
def start_experiment(nb_clients , nb_machines , nb_operations , trx_length , nb_reads , nb_writes ,
dataset , server_host , server_port , hostclients):
print("Running Experiment")
address = server_host + ':' + server_port
execute(init_server,address)
execute(initialise_clients,hostclients)
execute(create_server, server_port )
创建服务器的方法是:
@roles('server')
def create_server( port):
print("Creating Server")
print env.host
print(port)
code_dir = '/net/work/evaluation/'
with lcd(code_dir):
run("java -jar server.jar " + port + " > log_server.txt ")
print("Server Initialised - Waiting for NFS to propagate ")
我遇到的问题是:当我执行 create_server 任务时:我有这个:[t] Executing task 'create_server' 我猜这是一个字符串问题,因为我是 python 新手
致命错误:名称查找失败 t
潜在异常:名称或服务未知
中止。
它对应于我传入的主机的第一个字符(作为字符串't...')。为什么会这样?
我调用 start_experiment 并将 server_host 定义为“name.server.org”