92 lines
2.6 KiB
Python
92 lines
2.6 KiB
Python
import asyncio
|
|
from recordGenerators import Alerts,CurrentObservations,HourlyForecast,DailyForecast, AirQuality, AirportDelays, AchesAndPains, Breathing, HeatingAndCooling, MosquitoActivity, PollenForecast, TideForecast, WateringNeeds
|
|
from radar import TWCRadarCollector
|
|
from datetime import datetime
|
|
|
|
|
|
async def updateMosaicTask():
|
|
mosaicUpdateIntervals = [i+1 for i in range(0, 60, 5)]
|
|
|
|
while True:
|
|
# Mosaic intervals are 5+1 minutes, so instead of waiting 40 seconds and running "Datetime.now()" twice, We run it once and wait for 60.
|
|
if datetime.now().minute in mosaicUpdateIntervals:
|
|
await TWCRadarCollector.collect("radarmosaic")
|
|
await asyncio.sleep(1)
|
|
|
|
async def updateSatradTask():
|
|
satradUpdateIntervals = [i+1 for i in range(0, 60, 10)]
|
|
|
|
while True:
|
|
#Satrad intervals are 10+1 minutes, so instead of waiting 40 seconds and running "Datetime.now()" twice, We run it once and wait for 60.
|
|
if datetime.now().minute in satradUpdateIntervals:
|
|
await TWCRadarCollector.collect("satrad")
|
|
await asyncio.sleep(1)
|
|
|
|
|
|
async def alertsTask():
|
|
while True:
|
|
await Alerts.makeRecord()
|
|
await asyncio.sleep(60)
|
|
|
|
async def coTask():
|
|
while True:
|
|
await CurrentObservations.makeDataFile()
|
|
await asyncio.sleep(5 * 60)
|
|
|
|
# These tasks should be updated every hour
|
|
|
|
async def hfTask():
|
|
while True:
|
|
await HourlyForecast.makeDataFile()
|
|
await asyncio.sleep(60 * 60)
|
|
|
|
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)
|