start:utils:cockpit:p1:cpu:main
main.py
Il s'agit du programme principal.
Initialisation de la base de données, gestion des pages Web et mise à jour régulière de la liste des tickets P1.
- main.py
# main.py import time from arduino.app_utils import * from arduino.app_bricks.web_ui import WebUI import PersistentData import CockpitITSM import Tools import WebIndex import WebConfig import WebCockpitITSM import WebOrganizations import WebTeams import WebStatus import WebPriority import WebCriticity import WebTickets # Initialize the Database PersistentData.init_db() # Perform the readiness check api_ready = Tools.check_api_readiness() # Initialize the Web Interface ui = WebUI() # Logic for web pages WebIndex.init_dashboard_interface(ui) WebConfig.init_index_interface(ui) WebCockpitITSM.init_web_interface(ui) WebOrganizations.init_organizations_interface(ui) WebTeams.init_teams_interface(ui) WebStatus.init_status_interface(ui) WebPriority.init_priority_interface(ui) WebCriticity.init_criticity_interface(ui) WebTickets.init_tickets_interface(ui) # Register Bridge handlers Bridge.provide("get_datetime", Tools.get_datetime) Bridge.provide("get_open_tickets", CockpitITSM.get_open_tickets) Bridge.provide("store_sensor_data", Tools.store_sensor_data) Bridge.provide("get_arduino_config", Tools.get_arduino_config) # Update tickets every 4 minutes TICKET_UPDATE_INTERVAL = 240 # seconds _last_ticket_update = 0 def loop(): global _last_ticket_update # Check API readiness before attempting any ticket update if not Tools.check_api_readiness(): time.sleep(10) return now = time.time() if now - _last_ticket_update >= TICKET_UPDATE_INTERVAL: CockpitITSM.update_open_tickets(on_complete=lambda count: WebIndex.on_tickets_updated(ui, count)) _last_ticket_update = time.time() time.sleep(10) # Start the application App.run(user_loop=loop)
start/utils/cockpit/p1/cpu/main.txt · Last modified: by admin_wiki
