rpc_key_test.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import rpyc
  2. import time
  3. import schedule
  4. s1={'ip':'192.168.192.199','names':['poi1','poi2','poi3']} #MBA_HOME
  5. s2={'ip':'192.168.192.58','names':['poi1','poi2','poi3']} #RDP_HOME
  6. s3={'ip':'192.168.192.146','names':['poi1','poi2']} #TOSHIBA
  7. s4={'ip':'192.168.192.45','names':['poi1','poi2']} #public1
  8. #s5={'ip':'192.168.192.156','names':['seo1','seo2']} #32g
  9. s5={'ip':'192.168.192.156','names':['poi1','poi2','poi3','poi4']} #32g
  10. #s5={'ip':'192.168.192.156','names':['hhhclick1','hhhclick2','seo1','seo2']}
  11. s6={'ip':'192.168.192.9','names':['poi1','poi2','poi3']} #64G
  12. #servers=[s1,s2,s4,s5,s6]
  13. servers=[s1,s2,s3,s4,s5,s6]
  14. #conn = rpyc.ssl_connect("192.168.192.199", port = 18812, keyfile="c:/tmp/client.key",
  15. # certfile="c:/tmp/client.cer")
  16. def do_job():
  17. global servers
  18. for srv in servers:
  19. print(srv['ip'])
  20. conn=None
  21. try:
  22. conn = rpyc.classic.connect(srv['ip'], port = 18812)
  23. except:
  24. print('exception')
  25. continue
  26. ros=conn.modules.os
  27. conn.execute('import docker')
  28. rdocker=conn.modules.docker
  29. client = rdocker.from_env()
  30. lst=client.containers.list()
  31. cur_names=[]
  32. for l in lst:
  33. cur_names.append(l.name)
  34. for n in srv['names']:
  35. if n not in cur_names:
  36. print("calling: " +n)
  37. ros.system('docker container restart '+n)
  38. do_job()
  39. schedule.every(3).minutes.do(do_job)
  40. while True:
  41. schedule.run_pending()
  42. time.sleep(1)