__main__.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """Main app"""
  2. import time
  3. from app import scheduler, session, LOGGER
  4. from app.api import get_factories
  5. from app.database import get_state, save_factories
  6. def print_factories(factories):
  7. """Print professors"""
  8. for factory in factories:
  9. print('{:20} {:30}'.format(
  10. factory['id'],
  11. factory['name'],
  12. ))
  13. def job_update_factories(state_id):
  14. """Update factories"""
  15. LOGGER.info('Run update factories for state "%s"', state_id)
  16. state = get_state(state_id)
  17. LOGGER.info('"%s": get factories', state.name)
  18. factories = get_factories(state.id)
  19. LOGGER.info('"%s": "%s" factories', state.name, len(factories))
  20. print_factories(factories)
  21. # save_factories(region.id, factories)
  22. LOGGER.info('"%s": done saving factories', state.name)
  23. def add_update_factories(state_id):
  24. """Add jobs"""
  25. scheduler.add_job(
  26. job_update_factories,
  27. 'cron',
  28. args=[state_id],
  29. id='factories_{}'.format(state_id),
  30. replace_existing=True,
  31. hour='2'
  32. )
  33. if __name__ == '__main__':
  34. # jobs
  35. # job_update_factories(2788)
  36. # Verenigde Nederlanden
  37. add_update_factories(2788)
  38. # Belgium
  39. add_update_factories(2604)
  40. # De Provincien
  41. add_update_factories(2620)
  42. try:
  43. while True:
  44. time.sleep(100)
  45. except KeyboardInterrupt:
  46. print('Exiting application')
  47. session.close()
  48. exit()