私は Python とファブリックの完全な初心者です。次のコードがあります。
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 )
create Server メソッドは次のとおりです。
@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...' として)。これはなぜですか?
「name.server.org」として定義されたserver_hostでstart_experimentを呼び出します