__main__.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. """Main app"""
  2. import time
  3. import sys
  4. from app import SCHEDULER, LOGGER, RESOURCE_NAMES, job_storage, jobs
  5. def add_telegram_update_job(state_id, telegram_id, resource_type):
  6. """Add telegram update job"""
  7. SCHEDULER.add_job(
  8. jobs.send_telegram_update,
  9. 'cron',
  10. args=[state_id, telegram_id, resource_type],
  11. id='{}_send_telegram_update_{}'.format(state_id, resource_type),
  12. replace_existing=True,
  13. minute='5'
  14. )
  15. if __name__ == '__main__':
  16. # jobs.refill_resource(3304, 4004, 0, True)
  17. # jobs.refill_resource(3261, 200062, 0, False)
  18. # jobs.check_resources(2788, 4002, 0, True) # VN
  19. # jobs.check_resources(2620, 4002, 0, False) # Zeelandiae
  20. # app.graph()
  21. # get_resources(4001, datetime.now(), 0)
  22. # jobs.send_telegram_update(2788, '@vn_resources', 'gold')
  23. # jobs.send_telegram_update(2788, '@vn_uranium_resources', 'uranium')
  24. # sys.exit()
  25. JOBS = job_storage.get_jobs()
  26. for job in JOBS:
  27. LOGGER.info(
  28. 'Add check for "%s", resource "%s" at "%s", alt "%s"',
  29. job['state_id'],
  30. job['resource_type'],
  31. job['minutes'],
  32. job['alt']
  33. )
  34. SCHEDULER.add_job(
  35. jobs.check_resources,
  36. 'cron',
  37. args=[
  38. job['state_id'],
  39. job['capital_id'],
  40. RESOURCE_NAMES[job['resource_type']],
  41. job['refill'],
  42. job['alt']
  43. ],
  44. id='{}_check_{}'.format(job['state_id'], job['resource_type']),
  45. replace_existing=True,
  46. minute=job['minutes']
  47. )
  48. add_telegram_update_job(2788, '@vn_resources', 'gold')
  49. add_telegram_update_job(2788, '@vn_uranium_resources', 'uranium')
  50. try:
  51. while True:
  52. time.sleep(100)
  53. except KeyboardInterrupt:
  54. LOGGER.info('Exiting application')
  55. SCHEDULER.shutdown()
  56. sys.exit()