User Tools

Site Tools


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)
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
start/utils/cockpit/p1/cpu/main.txt · Last modified: by admin_wiki