'''Created 16 Nov 2022 Levi''' from collections import deque import asyncio import mail_alert async def main() -> None: container: set = set() try: while True: # loop = asyncio.get_event_loop() # tasks = map(asyncio.create_task, # [mail_alert.mail_alert(container) # # mail_alert.mail_alert2() # # mail_alert.mail_alert3() # ]) tasks = [mail_alert.mail_alert(container), mail_alert.mail_alert2(container), mail_alert.mail_alert3(container)] # result = await asyncio.wait(tasks) results = await asyncio.gather(*tasks) # print(result) for result in results: if result not in container: container.add(result) # await asyncio.sleep(1) except KeyboardInterrupt: print('Cancelling all tasks...') for task in tasks: task.cancel() # noqa await asyncio.gather(*tasks, return_exceptions=True) print('All tasks cancelled.') if __name__ == '__main__': asyncio.run(main())