Categorie
ASP

Sleep function per ASP

Oggi vediamo una semplice procedura che aggiunga al nostro classic ASP la funzione Sleep(non prevista da VBScript). La funzione Sleep (presente in quasi tutti i moderni linguaggi di programmazione) non fa altro che sospendere fino allo scadere di un determinato intervallo di tempo l’esecuzione del nostro programma.

Innanzitutto quella che andremo a scrivere non sarà una funzione ma una subrutine in quanto non abbiamo bisogno che ci venga restituito nessun dato. Alla Sub passeremo un unico attributo che è il numero di secondi per il quale vogliamo che il processo si interrompa.

Ho preparato due esempi uno con il Do...Loop ed uno While...Wend, il principio di funzionamento è pressoché identico.

Con Do…Loop

Sub Sleep(intSecondi)
	If Not IsNumeric(intSecondi) Then Exit Sub
	Dim dataFine

	dataFine = DateAdd("S", intSecondi, Now())
	Do While True
    	If Now() >= dataFine Then
        	Exit Do
    	End If
	Loop
End Sub

Con While…Wend

Sub Sleep(intSecondi)
	If Not IsNumeric(intSecondi) Then Exit Sub
	Dim dataFine

	dataFine = DateAdd("S", intSecondi, Now())
	While dataFine > Now
		'non faccio niente
	Wend
End Sub

Conclusioni

Come detto in precedenza la funzione Sleep sospende l’esecuzione del programma per un determinato periodo di tempo; con i nostri esempi invece il processo continua la sua esecuzione entrando anzi in un loop che andrà a far salire verso l’alto l’utilizzo della CPU del server su cui gira l’applicazione per la durata del ciclo. Provate!

Onestamente come soluzione non è che mi faccia impazzire, usatela quindi solo se strettamente necessario e fatene un uso parsimonioso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.