🎉 T-wiki 1.3.0 is released

Worker magazzino grafico

Overview

ZMagazzinoSchedulerWorker è un servizio BackgroundService .NET8 che gestisce la transizione automatica degli stati dei layout grafici di magazzino.
Le possibili variazioni di stato di un layout sono:

Obiettivo

Automatizzare la pubblicazione futura di layout grafici evitando interventi manuali: Il layout con la priorità più alta passa in stato attivo, gli altri diventano o sheduled o archived

Logica Ciclica

  • Timer periodico: 15 minuti (per la fase di test).
  • Ad ogni tick:
    1. Lettura layout da aggiornare
      • vengono prelevati tutti i magazzini grafici active o scheduled ordinati per il campo Ultima_Verifica per prelevare i magazzini con la verifica più vecchia
      • in questo step viene inclusa la creazione degli aggregati e di conseguenza l’aggiornamento degli stati (che avviene ad ogni lettura, sia dal worker che dalle api)
    2. Viene aggiornato il campo Ultima_Verifica dei magazzini prelevati
    3. Vengono salvate le modifiche apportate

Requisiti stati

Active:

  1. AttivoDa < Datetime.now
  2. AttivoA > Datetime.Now
  3. Il magazzino con AttivoDa più vicina a quella attuale ha la priorità

Scheduled:

  1. Possono diventare scheduled solo i magazzini in draft o active
  2. AttivoDa > Datetime.now
  3. Un altro magazzino ha più priorità di questo

Draft:

  1. Primo stato disponibile per una layout, è un punto di partenza
  2. Pilotabile solo dalle api

Archived

  1. AttivaA < Datetime.now
  2. tutti gli stati portano a questo stato, basta che venga rispettato il punto sopra

Locked

  1. InModifica è true
  2. Pilotabile solo dalle api, rende disponibile il layout solo all’utente che l’ha bloccato (utenteAggiornamento)