Definizione del modello ThingWorx in Composer > Sistema > Sottosistemi > Sottosistema di elaborazione eventi ordinati
Sottosistema di elaborazione eventi ordinati
Scopo del sottosistema di elaborazione eventi ordinati è quello di garantire che venga rispettato l'ordine quando vengono elaborati eventi quali associazione e annullamento di associazione. Il sottosistema fornisce un'interfaccia a un pool di thread e presenta parametri di ottimizzazione simili ad altri sottosistemi, ad esempio Elaborazione eventi. Al momento, questo pool serve solo le valutazioni di presenza attivate dagli eventi di associazione/annullamento associazione.
Le impostazioni descritte nella tabella che segue servono a limitare l'ingombro della memoria quando il sistema viene sottoposto a un carico eccessivo. Se vengono superati i limiti, si passa da isReporting a false, indipendentemente dallo stato del dispositivo (per ulteriori dettagli, vedere la tabella sotto).
Impostazione
Descrizione
Numero min di thread allocati a un pool di elaborazione eventi
Il numero minimo di thread che verranno assegnati. Questa impostazione corrisponde alla dimensione iniziale del pool di thread. Se i thread diventano inattivi, vengono eliminati per conservare le risorse, fino a questo numero.
Numero max di thread allocati a un pool di elaborazione eventi
Il numero massimo di thread da assegnare. Il pool si ridimensiona dinamicamente sotto carico fino a questo numero.
Numero max di voci della coda prima di aggiungere un nuovo thread di lavoro
Il numero massimo di task (valutazioni di presenza) che sono pronti per l'elaborazione immediata prima che il pool si ridimensioni.
Numero max di task per garantire l'esecuzione nell'ordine
Il numero massimo di attività (valutazioni di presenza) che possono essere accodate, in attesa di una valutazione precedente sullo stesso dispositivo.
Le prime tre impostazioni sono esattamente condivise dal sottosistema Elaborazione eventi.
Il sottosistema distingue tra i due diversi motivi riportati di seguito per cui un'attività potrebbe essere bloccata.
Non sono disponibili sufficienti thread worker per elaborare tutte le valutazioni in tempo reale mentre si verificano. L'impostazione "Numero max di voci della coda" consente di limitare la probabilità che si verifichi questa situazione.
In alternativa, gli stessi dispositivi potrebbero accendersi e spegnersi, richiedendo numerose valutazioni. Se una valutazione non è in procinto di finire prima che si verifichi il successivo evento di associazione/annullamento di associazione, la seconda valutazione deve attendere fino al termine della prima. L'impostazione "Numero max di task" regola il numero di valutazioni che possono essere arrestate in questo modo.
Se viene superato il limite "Numero max di voci", il pool di thread tenterà di ridimensionarsi. Se riesce, il nuovo thread worker aiuterà a gestire la coda delle valutazioni.
Se non può ridimensionarsi a causa del limite "Numero max di thread" o quando viene superato il limite "Numero max di task", il pool di thread rifiuterà la valutazione. Una valutazione respinta determina immediatamente lo stato "non crea report" senza ulteriori elaborazioni.
È stato utile?