From 29420a3a5043e1e550aebb2f5b114f5845243b09 Mon Sep 17 00:00:00 2001 From: April Date: Sun, 13 Nov 2022 16:21:28 -0700 Subject: [PATCH] Make new tasks for converted record generators --- RecordTasks.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- main.py | 18 ++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/RecordTasks.py b/RecordTasks.py index d1cf5aa..54b5a11 100644 --- a/RecordTasks.py +++ b/RecordTasks.py @@ -1,5 +1,6 @@ import asyncio -from recordGenerators import Alerts,CurrentObservations,HourlyForecast,DailyForecast +from recordGenerators import Alerts,CurrentObservations,HourlyForecast,DailyForecast, AirQuality, AirportDelays, AchesAndPains, Breathing, HeatingAndCooling, MosquitoActivity, PollenForecast, TideForecast, WateringNeeds +from radar import TWCRadarCollector """ This houses the tasks needed to update the data records concurrently @@ -16,6 +17,8 @@ async def coTask(): await CurrentObservations.makeDataFile() await asyncio.sleep(5 * 60) +# These tasks should be updated every hour + async def hfTask(): while True: await HourlyForecast.makeDataFile() @@ -24,4 +27,49 @@ async def hfTask(): async def dfTask(): while True: await DailyForecast.makeDataFile() + await asyncio.sleep(60 * 60) + +async def aqTask(): + while True: + await AirQuality.writeData() + await asyncio.sleep(60 * 60) + +async def aptTask(): + while True: + await AirportDelays.writeData() + await asyncio.sleep(60 * 60) + +async def apTask(): + while True: + await AchesAndPains.makeRecord() + await asyncio.sleep(60 * 60) + +async def brTask(): + while True: + await Breathing.makeDataFile() + await asyncio.sleep(60 * 60) + +async def hcTask(): + while True: + await HeatingAndCooling.makeRecord() + await asyncio.sleep(60 * 60) + +async def maTask(): + while True: + await MosquitoActivity.makeRecord() + await asyncio.sleep(60 * 60) + +async def pTask(): + while True: + await PollenForecast.makeDataFile() + await asyncio.sleep(60 * 60) + +async def tTask(): + while True: + await TideForecast.makeRecord() + await asyncio.sleep(60 * 60) + +async def wnTask(): + while True: + await WateringNeeds.makeRecord() await asyncio.sleep(60 * 60) \ No newline at end of file diff --git a/main.py b/main.py index 2df865a..9e9cc60 100644 --- a/main.py +++ b/main.py @@ -46,12 +46,30 @@ async def main(): coTask = asyncio.create_task(RecordTasks.coTask()) hfTask = asyncio.create_task(RecordTasks.hfTask()) dfTask = asyncio.create_task(RecordTasks.dfTask()) + aqTask = asyncio.create_task(RecordTasks.aqTask()) + aptTask = asyncio.create_task(RecordTasks.aptTask()) + apTask = asyncio.create_task(RecordTasks.apTask()) + brTask = asyncio.create_task(RecordTasks.brTask()) + hcTask = asyncio.create_task(RecordTasks.hcTask()) + maTask = asyncio.create_task(RecordTasks.maTask()) + pTask = asyncio.create_task(RecordTasks.pTask()) + tTask = asyncio.create_task(RecordTasks.tTask()) + wnTask = asyncio.create_task(RecordTasks.wnTask()) # In theory, these should all run concurrently without problems await alertsTask await coTask await hfTask await dfTask + await aqTask + await aptTask + await apTask + await brTask + await hcTask + await maTask + await pTask + await tTask + await wnTask if __name__ == "__main__": asyncio.run(main()) \ No newline at end of file