cron.py 662 B

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. """
  3. demeter web
  4. name:cron.py
  5. author:rabin
  6. """
  7. import time
  8. from demeter.core import *
  9. from gevent import monkey; monkey.patch_socket()
  10. import gevent
  11. timeSleep = 10
  12. def run(site, product):
  13. site['product'] = product
  14. service = Demeter.service(site['name'])
  15. service.init(site)
  16. service.start()
  17. gevent.sleep(timeSleep)
  18. def handle():
  19. while 1:
  20. task = []
  21. product = Demeter.service('product')
  22. data = product.get()
  23. if data:
  24. for v in data:
  25. product.status(v['id'], 2)
  26. site = product.getSite(v['site_id'])
  27. task.append(gevent.spawn(run, site, [v]))
  28. gevent.joinall(task)
  29. gevent.sleep(timeSleep)
  30. handle()