start_mail_alert.py 920 B

123456789101112131415161718192021222324252627282930
  1. '''Created 16 Nov 2022 Levi'''
  2. import asyncio
  3. import mail_alert
  4. async def main() -> None:
  5. container: set = set()
  6. try:
  7. while True:
  8. tasks = [mail_alert.mail_alert(container),
  9. mail_alert.mail_alert2(container),
  10. mail_alert.mail_alert3(container)]
  11. # result = await asyncio.wait(tasks)
  12. results = await asyncio.gather(*tasks)
  13. print(results)
  14. for result in results:
  15. for id_ in result:
  16. if id_ not in container:
  17. container.add(id_)
  18. # await asyncio.sleep(1)
  19. except KeyboardInterrupt:
  20. print('Cancelling all tasks...')
  21. for task in tasks:
  22. task.cancel() # noqa
  23. await asyncio.gather(*tasks, return_exceptions=True)
  24. print('All tasks cancelled.')
  25. if __name__ == '__main__':
  26. asyncio.run(main())