Repository for M.A.I.L system's analysis server.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

auto_kpi.py 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import os
  2. import sys
  3. import glob
  4. import time
  5. import paramiko
  6. hdd_root = '/hdd/*'
  7. hdd_root = '/hdd/*'
  8. def main():
  9. surgery_list = glob.glob(hdd_root)
  10. for id in surgery_list:
  11. #id = /hdd/********
  12. if 'lost+found' in id:
  13. surgery_list.remove(id)
  14. else:
  15. pass
  16. for id in surgery_list:
  17. file_list=glob.glob(id + '/*')
  18. for file in file_list:
  19. #file = /hdd/**********/*.csv, svo, txt
  20. if 'log.txt' in file:
  21. f = open(file, 'rt')
  22. logs = f.readlines()
  23. f.close()
  24. if len(logs) == 6:
  25. f = open(file, 'at')
  26. r_time = time.ctime(time.time())
  27. f.write('kpi successfully starts at ' + str(r_time) + '\n')
  28. f.close()
  29. #FIXME: change coordinate_g.py when IMU sensor works and get generic optimizer for DBSCAN
  30. os.system('docker run --rm --name kpi --gpus '"device=1"' -v /dev:/dev -v /home/mc365/sources:/sources -v /hdd:/hdd ellishuntingmoon/mailsys:0.4 python3 /sources/kpi.py ' + id + '/ >> /dev/null')
  31. f = open(file, 'at')
  32. r_time = time.ctime(time.time())
  33. f.write('kpi successfully ends at ' + str(r_time) + '\n')
  34. f.close()
  35. transport = paramiko.Transport(('365mc.iptime.org', 63122))
  36. transport.connect(username='mc365', password='tkadbrdhMC1!')
  37. sftp = paramiko.SFTPClient.from_transport(transport)
  38. #FIXME: send file recursively
  39. for file in file_list:
  40. sftp.put(file,'/data/'+str(file[5:]))
  41. sftp.close()
  42. transport.close()
  43. os.system('rm -rf '+id)
  44. else:
  45. pass
  46. if __name__ == '__main__':
  47. while True:
  48. main()