add schedular for regular tasks
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
aiomqtt==1.2.1
|
aiomqtt==1.2.1
|
||||||
schema==0.7.5
|
schema==0.7.5
|
||||||
|
aiocron==1.8
|
||||||
25
app/src/scheduler.py
Normal file
25
app/src/scheduler.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import logging
|
||||||
|
from mqtt import Mqtt
|
||||||
|
from aiocron import crontab
|
||||||
|
|
||||||
|
|
||||||
|
class Schedule:
|
||||||
|
mqtt = None
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def start(cls):
|
||||||
|
logging.info("Scheduler init")
|
||||||
|
cls.mqtt = Mqtt(None)
|
||||||
|
# json.dumps(i.db['total']) == json.dumps({'Daily_Generation': 0.0})
|
||||||
|
# json.dumps(i.db['input']) == json.dumps({"pv1": {"Daily_Generation": 0.0}, "pv2": {"Daily_Generation": 0.0}, "pv3": {"Daily_Generation": 0.0}, "pv4": {"Daily_Generation": 0.0}}) # noqa: E501
|
||||||
|
|
||||||
|
crontab('0 0 * * *', func=cls.atmidnight, start=True)
|
||||||
|
|
||||||
|
async def atmidnight():
|
||||||
|
logging.info("Scheduler is working")
|
||||||
|
# db = self.db.db
|
||||||
|
# if key in db and self.new_data[key]:
|
||||||
|
# data_json = json.dumps(db[key])
|
||||||
|
# node_id = self.node_id
|
||||||
|
# logger_mqtt.debug(f'{key}: {data_json}')
|
||||||
|
# await cls.mqtt.publish(f'{self.entity_prfx}{node_id}{key}', data_json) # noqa: E501
|
||||||
@@ -6,6 +6,7 @@ import os
|
|||||||
from logging import config # noqa F401
|
from logging import config # noqa F401
|
||||||
from async_stream import AsyncStream
|
from async_stream import AsyncStream
|
||||||
from inverter import Inverter
|
from inverter import Inverter
|
||||||
|
from scheduler import Schedule
|
||||||
from config import Config
|
from config import Config
|
||||||
|
|
||||||
|
|
||||||
@@ -64,6 +65,7 @@ if __name__ == "__main__":
|
|||||||
logging.getLogger('msg').setLevel(log_level)
|
logging.getLogger('msg').setLevel(log_level)
|
||||||
logging.getLogger('conn').setLevel(log_level)
|
logging.getLogger('conn').setLevel(log_level)
|
||||||
logging.getLogger('data').setLevel(log_level)
|
logging.getLogger('data').setLevel(log_level)
|
||||||
|
# logging.getLogger('mqtt').setLevel(log_level)
|
||||||
|
|
||||||
# read config file
|
# read config file
|
||||||
Config.read()
|
Config.read()
|
||||||
@@ -72,6 +74,8 @@ if __name__ == "__main__":
|
|||||||
asyncio.set_event_loop(loop)
|
asyncio.set_event_loop(loop)
|
||||||
|
|
||||||
Inverter.class_init()
|
Inverter.class_init()
|
||||||
|
Schedule.start()
|
||||||
|
|
||||||
#
|
#
|
||||||
# Register some UNIX Signal handler for a gracefully server shutdown
|
# Register some UNIX Signal handler for a gracefully server shutdown
|
||||||
# on Docker restart and stop
|
# on Docker restart and stop
|
||||||
|
|||||||
Reference in New Issue
Block a user