vorrei chiedere una spiegazione per quanto riguarda il comportamento del nostro applicativo web.
In pratica ho questi elementi che si occupano alla gestione del timer.
Timer è abilitato, è server session ed è anche permanente che scatta ogni 1 minuto.
Tale elemento è attivato da una procedura "timer" che esegue un blocco di codice solo se si è in produzione. Quindi al suo interno vi è un ifelse.
- 1) if in produzione allora esegui il codice: chiami le funzioni update start time e update end time. Queste vanno a eseguire l'aggiornamento dei valori della tabella di timer, rispettivamente il valore di inizio scatto e quello di ultimo scatto.
- 2) ELSE scrivi un testo test sul file log.txt.
Il mio problema sorge nel momento in cui avvio il progetto in Test, i dati di ultimo e inizio scatto vengono aggiornati. Quindi sembrerebbe che in test il programma esegui l'aggiornamento anche se non dovrebbe.
Ho provato a capire il problema
- 1) Ho verificato chi usa la tabella timer e ho trovato sono solo quelle tre procedure : Timer, updateStartTime e updateEndTime.
- 2)Ho controllato il log.txt e effettivamente c'è il testo che mi da conferma che il sistema abbia eseguito l'else della procedura Timer senza entrare nell'if.
- 3)Dentro update end time ho provato a commentare il codice che aggiorna il valore ultimo scatto e poi al suo posto ho messo un codice che scrive sul log.txt. Per vedere se va veramente ad eseguire le procedura. Ma lo stesso ad ogni scatto del Timer i valore di inizio e ultimo scatto si aggiornano e sul mio log.txt non ho trovato il testo che mi attesti che la procedura update end timer sia stata eseguita.
- 4) ho provato a pulire la memoria cache, ma nulla è cambiato: scatta e va a modificare lo stesso
Non capisco come mai il web app in TEST, esegua l'aggiornamento dei valori della tabella anche se non dovrebbe. Ho provato con diversi controlli con log.txt ma non sono riuscita a capire il mistero.
Come se nella videata del timer, l'elemento Timer scatti e automaticamente modifica i dati.
Questo risulta molto strano anche perche in LOCALE l'errore non appare.
Esiste un modo per capire meglio il perche i dati vengono aggiornati in test?