ProxyScheduler.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # -*- coding: utf-8 -*-
  2. """
  3. -------------------------------------------------
  4. File Name: ProxyScheduler
  5. Description :
  6. Author : JHao
  7. date: 2019/8/5
  8. -------------------------------------------------
  9. Change Activity:
  10. 2019/8/5: ProxyScheduler
  11. -------------------------------------------------
  12. """
  13. __author__ = 'JHao'
  14. import sys
  15. from apscheduler.schedulers.blocking import BlockingScheduler
  16. sys.path.append('../')
  17. from Schedule import doRawProxyCheck, doUsefulProxyCheck
  18. from Manager import ProxyManager
  19. from Util import LogHandler
  20. class DoFetchProxy(ProxyManager):
  21. """ fetch proxy"""
  22. def __init__(self):
  23. ProxyManager.__init__(self)
  24. self.log = LogHandler('fetch_proxy')
  25. def main(self):
  26. self.log.info("start fetch proxy")
  27. self.fetch()
  28. self.log.info("finish fetch proxy")
  29. def rawProxyScheduler():
  30. DoFetchProxy().main()
  31. doRawProxyCheck()
  32. def usefulProxyScheduler():
  33. doUsefulProxyCheck()
  34. def runScheduler():
  35. rawProxyScheduler()
  36. usefulProxyScheduler()
  37. scheduler_log = LogHandler("scheduler_log")
  38. scheduler = BlockingScheduler(logger=scheduler_log)
  39. scheduler.add_job(rawProxyScheduler, 'interval', minutes=5, id="raw_proxy_check", name="raw_proxy定时采集")
  40. scheduler.add_job(usefulProxyScheduler, 'interval', minutes=1, id="useful_proxy_check", name="useful_proxy定时检查")
  41. scheduler.start()
  42. if __name__ == '__main__':
  43. runScheduler()