Ho un'app di gestione del magazzino che ho scritto che gestisce il batching di ordini per il prelievo in batch, la scansione di articoli per l'imballaggio e la precisione. Parte di questa app è un Dash o un pannello di controllo a cui lavorano i diversi responsabili del magazzino. Indica chi sta selezionando, imballando, chi è disponibile, quanti ordini sono disponibili per essere dosati e un BUNCH di altri dettagli e controlli. In questo momento ho una chiamata Ajax che controlla un timestamp che viene eseguito ogni 30 secondi o giù di lì per vedere se la pagina deve essere aggiornata (una modifica apportata su un'altra workstation manager).
Un manager fa qualcosa che dovrebbe essere mostrato su tutte le altre workstation che stanno visualizzando il "trattino". Forse hanno messo in fila alcuni ordini e i raccoglitori che erano disponibili non sono più disponibili. In questo momento, quando viene apportata la modifica, aggiorno un timestamp salvato in un database. Nella pagina html il timestamp che si trovava nel db all'ultimo caricamento della pagina viene salvato in un div nascosto. Il javascript accetta quel timestamp e controlla il database a intervalli se è diverso dagli aggiornamenti della pagina.
È un po 'più complicato di come le sezioni della pagina non vengano modificate, ma la descrizione riassume il processo.
Funziona ma non mi piace. Richiede un hit del database da ogni workstation ogni 30 secondi. Sembra troppo complesso. Sto cercando alcuni pensieri su come spingere un cambiamento mentre si verifica e minimizzare o eliminare alcune delle interazioni del database.
Pensieri?