本文整理汇总了Python中multiprocessing.connection.Client类的典型用法代码示例。如果您正苦于以下问题:Python Client类的具体用法?Python Client怎么用?Python Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Client类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start
def start(self, port=8080):
"""
Starts the server. This will actually start the child process.
:param port: Local TCP/IP port to which the underlying socket is
connected to.
"""
self.__process = multiprocessing.Process(target=childProcess,
name=self.__name,
args=(port, ))
self.__process.start()
self.__running = False
try:
if sys.platform == "win32":
self._client = Client(('localhost', port))
else:
try:
self._client = Client(('', port))
except OSError:
# wait a second before starting, this occur if we were connected to
# previously running server that has just closed (we need to wait a
# little before starting a new one)
time.sleep(1)
self._client = Client(('', port))
logger.info("Connected to Code Completion Server on 127.0.0.1:%d" %
port)
self.__running = True
self._lock = thread.allocate_lock()
thread.start_new_thread(self._threadFct, ())
except OSError:
logger.exception("Failed to connect to Code Completion Server on "
"127.0.0.1:%d" % port)
return self.__running
示例2: DBClient
class DBClient(object):
def __init__(self, address=('localhost',6000), authkey='difficult password'):
self.conn = Client(address, authkey=authkey)
def get_batch(self, elements):
self.conn.send(list(elements))
to_ret = self.conn.recv()
return to_ret
def get(self, element):
self.conn.send(element)
to_ret = self.conn.recv()
return to_ret
def set(self, key, val):
self.conn.send({key: val})
def set_batch(self, key_val_dict):
self.conn.send(key_val_dict)
def __getitem__(self, key):
return self.get(key)
def __setitem__(self, key, val):
self.set(key, val)
示例3: send
def send(self, msg):
#conn = Client((self.address, self.port), authkey=str(self.key))
conn = Client((self.address, self.port))
conn.send(json.dumps(msg))
conn.close()
示例4: Worker
class Worker(object):
def __init__(self, address, port, authkey=None):
self.connection = Client((address, port), authkey=authkey)
self.worker_id = self.connection.recv()
def run(self):
while True:
task_data = self.connection.recv()
if task_data is False:
return
result = self.do_task(task_data)
self.connection.send((task_data, result))
def log(self, *items):
print "== Worker %s ==" % self.worker_id,
for item in items:
print item,
print
def do_task(self, data):
raise NotImplementedError("A subclass must implement this.")
示例5: get_json
def get_json():
# Get the current values
c = Client(("localhost", 25000))
c.send("get")
now = c.recv()
# Now we parse all the data out of the results!
data = {}
data["IN_Temp"] = now.In_Temp
data["IN_Humid"] = now.In_Humid
data["OUT_Temp"] = now.Out_Temp
data["OUT_Humid"] = now.Out_Humid
data["Out_Wind_Now"] = now.Out_Wind_Now
data["OUT_Wind_Avg"] = now.Out_Wind_Avg
data["OUT_Wind_Max"] = now.Out_Wind_Max
data["OUT_Rain_Today"] = now.Out_Rain_Today
data["OUT_Rain_Last_24h"] = now.Out_Rain_Last_24h
data["OUT_Rain_Since_Reset"] = now.Out_Rain_Since_Reset
data["ATTIC_Temp"] = now.Attic_Temp
data["ATTIC_Humid"] = now.Attic_Humid
data["NOW_URL"] = now.Now_URL
data["NOW_Feel"] = now.Now_Feel
data["NOW_Feel_High"] = now.Now_Feel_High
data["NOW_Feel_Low"] = now.NOW_Feel_Low
data["SYSTEM_CPU"] = now.System_CPU
data["SYSTEM_RAM"] = now.System_RAM
# Now return the json as a string
return json.dumps(data)
示例6: process_data2
def process_data2(self, q):
conn = Client(address, authkey="secret password")
message = ""
while True:
message = conn.recv()
# print "received", message[0],message[1]
q.put(message)
示例7: start_server
def start_server(self, address, password):
print("server waiting")
listener = Listener()
client = Client(address)
client.send(listener.address)
self._start_listener(listener)
return listener.address
示例8: __enter__
class RsClient:
def __enter__(self):
"""no init"""
def __exit__(self, type=None, value=None, tb=None):
#self.conn may not exist so expect that it may fail.
try:
self.conn.close()
except:
pass
def start(self, host='localhost', port=8000, key='8457#$%^&3648'):
address = (host, port)
self.conn = Client(address)
def send(self, data):
try:
self.conn.send(data)
except:
self.stop()
def stop(self):
self.conn.close()
示例9: shutdown_metric
def shutdown_metric(metric_server_addresses, authkey):
""" This function tells all of the SimulationPotential instances running on the addresses in metric_server_addresses to shutdown. This is called when a SimulationClient instance shuts down.
Args:
metric_server_addresses: A list of tuples of the form (str, int) containing the hostnames and port numbers of the SimulationPotential instances.
authkey (str): The password used in order to communicate with the SimulationPotential instances.
Returns:
float: The length of the curve with metric values in metric.
"""
# For each SimulationPotential instance...
for address in xrange(len(metric_server_addresses)):
# Try making contact with the SimulationPotential instance...
try:
# Establish a connection with the SimulationPotential
metric_server = Client(metric_server_addresses[address], authkey=authkey)
# Send a status code indicating the SimulationPotential instance should stop running.
metric_server.send({'status_code': comm_code('KILL')})
# Close the connection.
metric_server.close()
# If contact with the SimulationPotential instance cannot be made then...
except socket.error:
# Make a note in the log which SimulationPotential couldn't be contacted.
logging.warning('Failed to Make Connection to SimulationPotential at '
+ str(metric_server_addresses[address]) + '.')
示例10: call
def call(*args, **kwargs):
global _recursive_conn_lock
if _recursive_conn_lock:
raise AssertionError, 'BUG: Recursive client connection'
# Avoid hanging because we call the socket while the
# server is blocking for our return value on the pipe.
# If this is an issue blocking functionality,
# re-route the call to the open pipe for which the
# server is waiting.
#~ if self._client_proxy_authkey is None:
#~ self._client_proxy_authkey = AUTHKEY_FILE.raw()
msg = RemoteMethodCall(self._obj, name, args, kwargs)
logger.debug('Remote call from %i: %s', os.getpid(), msg)
#~ print "CLIENT >>%s<<" % self._client_proxy_authkey
#~ conn = Client(SERVER_ADDRESS, authkey=self._client_proxy_authkey)
conn = Client(SERVER_ADDRESS, SERVER_ADDRESS_FAMILY)
conn.send(msg)
if not msg.async:
re = conn.recv()
logger.debug('Remote call returned to %i: %s', os.getpid(), re)
if isinstance(re, Exception):
raise re
else:
return re
示例11: send
def send(self, msg):
# TODO: Busy wait will do for initial startup but for dealing with server down in the middle of things
# TODO: then busy wait is probably inappropriate.
if self.port == 5555:
self.redis.rpush('flowqueue', msg)
else:
while True: # keep going until we break out inside the loop
try:
self.logger.debug('Attempting to connect to '+self.serverName+' server at '+str(self.address)+' port '+str(self.port))
conn = Client((self.address, self.port))
self.logger.debug('Connect to '+self.serverName+' successful.')
break
except SocketError as serr:
if serr.errno == errno.ECONNREFUSED:
self.logger.debug('Connect to '+self.serverName+' failed because connection was refused (the server is down). Trying again.')
else:
# Not a recognized error. Treat as fatal.
self.logger.debug('Connect to '+self.serverName+' gave socket error '+str(serr.errno))
raise serr
except:
self.logger.exception('Connect to '+self.serverName+' threw unknown exception')
raise
self.logger.debug('PCTRLSEND ' + str(msg))
conn.send(msg)
self.logger.debug('TRYCONNCLOSE trying to close the connection in pctrl')
conn.close()
示例12: run
def run(self):
while not self._stop:
address = ('localhost', 6000)
conn = Client(address)
msg = conn.recv()
conn.close()
[cb() for k,cb in self.cbs.items() if msg==k]
示例13: send
def send(self, msg):
try:
connection = Client(self.address, authkey=self.auth)
connection.send(msg)
connection.close()
except ConnectionRefusedError:
print('Connection Refused')
示例14: run
def run():
global connection
connection = Client(('localhost', 6000), authkey=b'bluesky')
plugin.init()
stack.init()
bs.sim.doWork()
connection.close()
print('Node', nodeid, 'stopped.')
示例15: reset_rain
def reset_rain():
# Reset rain_since_reset in the table
# (╯°□°)╯︵ ┻━┻
c = Client( ('localhost', 25000) )
c.send("reset_rain")
result = c.recv()
return "reset!"