我打算寫一個遠程代理模塊波紋管:我可以使用fabric作爲併發方式的lib嗎?
from fabric.api import run as fab_run
from fabric.api import env as fab_env
class RemoteAgent(object):
def __init__(self, host, port, user, password):
self.host = host
self.port = port
self.user = user
self.password = password
def set_env(self):
fab_env.host_string = "%s:%s" % (self.host, self.port)
fab_env.user = self.user
fab_env.password = self.password
def run(self, cmd):
self.set_env()
return fab_run(cmd)
所以我可以使用RemoteAgent
這樣的:
ra = RemoteAgent('192.168.1.102', 22, 'worker', 'password')
ra.run('killall java')
但RemoteAgent
不能同時使用,否則會有一場比賽條件。
我的問題是:如何將fabric作爲lib以併發方式使用?
是的,我正在閱讀結構源代碼並嘗試爲線程併發性進行更新。啊,讓我用多處理來完成我的工作:) – WKPlus