English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Client
  • Libreria Applicazione
  • Server Sessions

Session Progress

funzione copia link

Scopo

Questa funzione serve per chiedere ad una sessione, che sta usando i metodi StartPhase e TrackPhase, la percentuale di completamento di quello che sta facendo.

Sintassi

float perc = getSessionProgress("nome sessione", abort)

Argomenti

Nome Sessione Nome della sessione di cui si vuole conosce la percentuale di avanzamento o che si vuole interrompere
Abort Se impostato a True la sessione viene informata che è stato richiesto di interrompere quello che sta facendo.

Valore di ritorno

Viene ritornato un numero decimale compreso tra 0 e 1 corrispondente alla percentuale di completamento della sessione.
Se la sessione non sta usando i metodi StartPhase e TrackPhase viene restituito 0; se invece la sessione non esiste viene restituito -1.

Esempio di codice

// ****************************************************************************
// Evento notificato dal pannello dopo aver recuperato i dati della master query
// ****************************************************************************

event SessionMonitor.ServerSessionsLog.AfterFind(
  int Command // Questo argomento è stato introdotto a partire dalla versi...
)
{
  for each row in ServerSessionsLog
  {
    record NomeOggetto
      int IDServerSessionLog // 
      string NomeSessione // 
      string QueryString  // 
      date time StartTime // 
      date time EndTime   // 
      string Termina      // C"Termina"
      string Debug        // C"Debug"
      int DebugSize       // Blob Size (Debug File Server Session Log)
      string Progress     // C""
    // 
    // Se la sessione non è ancora terminata

    if (NomeOggetto.EndTime == null)
    {
      float p = getSessionProgress(NomeOggetto.NomeSessione, ...)
      // 
      // Aggiorno il suo stato di avanzamento

      if (p > 0)
      {
         NomeOggetto.Progress = toString(round(p * 100, 1)) + " %"
      }
      else
      {
         NomeOggetto.Progress = ""
      }
    }
  }
  ServerSessionsLog.undoChanges()
}
  • Se viene impostato a True il parametro Abort la prossima volta che la sessione controllerà il valore di ritorno della funzione TrackPhase potrà interrompere il proprio lavoro.
  • N.B. Abortire una sessione non la fa terminare: la si informa soltanto che si desidera l'interruzione di quello che sta facendo.

Ultima modifica: 25/10/2016 / Validità: da 9.5.4160

Vedi Anche

  • Start Phase (procedura)
  • Track Phase (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum