main.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # -*- coding: utf-8 -*-
  2. """
  3. -------------------------------------------------
  4. File Name: main.py
  5. Description : 运行主函数
  6. Author : JHao
  7. date: 2017/4/1
  8. -------------------------------------------------
  9. Change Activity:
  10. 2017/4/1:
  11. -------------------------------------------------
  12. """
  13. __author__ = 'JHao'
  14. import sys
  15. import signal
  16. from multiprocessing import Process
  17. sys.path.append('.')
  18. sys.path.append('..')
  19. from Api.ProxyApi import run as ProxyApiRun
  20. from Schedule.ProxyValidSchedule import run as ValidRun
  21. from Schedule.ProxyRefreshSchedule import run as RefreshRun
  22. def run():
  23. p_list = list()
  24. p1 = Process(target=ProxyApiRun, name='ProxyApiRun')
  25. p_list.append(p1)
  26. p2 = Process(target=ValidRun, name='ValidRun')
  27. p_list.append(p2)
  28. p3 = Process(target=RefreshRun, name='RefreshRun')
  29. p_list.append(p3)
  30. def kill_child_processes(signum, frame):
  31. for p in p_list:
  32. p.terminate()
  33. sys.exit(1)
  34. signal.signal(signal.SIGTERM, kill_child_processes)
  35. for p in p_list:
  36. p.daemon = True
  37. p.start()
  38. for p in p_list:
  39. p.join()
  40. if __name__ == '__main__':
  41. run()