Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926

    Inserire una pausa nell'esecuzione del codice

    devo spedire diverse centinaia di email con uno script asp.
    vorrei però introdurre una pausa ogni venti mail,
    conteggiate con un ciclo che incrementa una variabile
    ad ogni invio, in modo da non sovraccaricare
    il server smtp e non fare scattare sistemi di protezione
    antispam (sono in hosting)

    Come posso introdurre una pausa di xx secondi nell'esecuzione
    dello scritp raggiunto il valore di soglia del contatore?

    grazie
    luca
    www.intheweb.it - Internet solutions

  2. #2
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    nessun consiglio?
    luca
    www.intheweb.it - Internet solutions

  3. #3
    Utente di HTML.it L'avatar di Sandra
    Registrato dal
    May 2005
    Messaggi
    129

    ....

    Quello che ti serve è una funzione in javascript "setTimeout" , fai una ricerca sul forum.

    Ciao.

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ti conviene fare una paginazione
    dei tuoi record

    inviare 10 per volta e fare un submit per ogni pagina
    untilizzando onload nel BODY
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  5. #5
    - con tag meta refresh... gli passi lo id del record successivo da considerare nella query
    ovvio che dovrai fare tante query

    - chiami (in modo sincrono) con xmlhttp una pagina asp.net con dentro solo il comando sleep(millisendidipausa)... questo è meglio se hai asp.net sul server

  6. #6
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    Su un forum straniero ho trovato una soluzione piuttosto
    semplice e sopratutto che funziona proprio come volevo.
    Ne posto il codice

    Codice PHP:
    <%
    Dim intTurn
     intTurn
    0  
     
    If intTurn 20 Then             
    intTurn 
    0             
    dtCurrent 
    Now                         
    Response
    .Flush             
    Do Until Abs(DateDiff("s"dtCurrentNow)) >= 30                
    dummy 
    dummy "a"             
    Loop         
    End 
    If
     
    intTurn intTurn 
    %> 
    in pratica setto la variabile intTurn con il numero massimo di invii
    (in questo caso 20)
    quando è raggiunto il limite, la variabile viene reimpostata a 0
    e nel frattempo viene fatto un ciclo fino a quando la
    differenza dell'ora tra lo stop e l'ora attuale è di 30 secondi,
    quindi ricomincia il ciclo del recordset.
    Ho provato e funziona bene, è facile da configurare
    e non credo che sovraccarichi il server in maniera particolare
    (su questo aspetto vostri pareri)
    luca
    www.intheweb.it - Internet solutions

  7. #7
    e non credo che sovraccarichi il server in maniera particolare
    eccerto... con quel ciclo la cpu ti va al 100% per tutta la "pausa"... non hai visto con task manager?!

    senza contare il consumo di memoria con dummy

    se l'hosting non ti blocca per le mail ti blocca di sicuro per questo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.