Make new tasks for converted record generators

This commit is contained in:
April 2022-11-13 16:21:28 -07:00
parent e1432fd464
commit 29420a3a50
No known key found for this signature in database
GPG Key ID: 17A9A017FAA4DE5E
2 changed files with 67 additions and 1 deletions

View File

@ -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)

18
main.py
View File

@ -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())