[Php] Script Time Out

Pagina: 1
Acties:

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
Iedereen kent het wel, en pracht van een script en dan run je het, timeout! Voordat tweakers zijn dataverlies had, schreef iemand in een topic een functie die je bovenaan je php page kon zetten zodat die niet meet out kon timen. helaas had ik die functie niet gekopieerd maar de url van de topic gebookmarked (http://gathering.tweakers.net/forum/list_messages/189482) De topic naam was: [PHP] Mailinglist met variabele inhoud per user

Nu heb ik de manual gehad, en ben ik de functie nog steeds neit tegengekomen. Ook heb ik wat zeer ervaren php-ers gevraagd die geen antwoord wisten...

wie helpt mij?

Troxx

aka Crypto T


  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
PHP:
1
2
3
<?
set_time_limit(1);
?>

Thx woeitje

// Troxx

aka Crypto T


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11-2025

dusty

Celebrate Life!

wil je het helemaal netjes doen dan zet je de timeout op 30 seconden ofzo (standaard) maar zet je in het lus wat er waarschijnlijk is. Hierdoor stelt hij de timeout elke keer op 30 in (en herstart hij de timeout-teller) Als om de een of andere vage reden je php helemaal verkeerd gaat time-ed out it wel en laat ie het geheugen weer netjes los. (zodat hij niet het geheugen blijft vreten etc.)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Anders
  • Registratie: December 2000
  • Laatst online: 05-02 17:26
Kun je de time-out niet veranderen (safe-mode oid), dan kun je wellicht met een omweg werken, als het om een while-loop gaat:
PHP:
1
2
3
4
5
6
<?
$stop = time() + 20;
while (time() < $stop ) {
        // blabla
}
?>

Ik maak hier wel gebruik van wanneer ik in safe-mode een mailinglist moet afwerken, en afhankelijk ben van de snelheid van sendmail. Wanneer nog niet alle mails verstuurd zijn, verschijnt een link die de volgende batch verstuurd. Het is een pseudo-oplossing, maar wel eentje die vrij aangenaam werkt wanneer alternatieven ontbreken.

Ik spoor veilig of ik spoor niet.


  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
Ik begrijp jullie verhaal heel goed, maar bij mij gaat het om een linkchecker voor 8000 mp3s in een database, die moeten gewoon achter elkaar door een lus gechecked worden. Op dit moment gebeurd het allemaal met een meta refresh om van de eeste naar de volgende mp3 te gaan maar dit duurt toch vrij lang. Ik wilde het dus met een lus gaan doen maar toen liep ik tegen die timeout op.

Ik zal straks is kijken welke oplossing het beste is.....
Hardstikke bedankt allemaal...

Troxx

aka Crypto T


  • peter99
  • Registratie: April 2000
  • Laatst online: 20-05-2025

peter99

 

je kan toch gewoon die loop gebruiken en een tellertje mee laten lopen en als hij op honderd is geen je een refresh, en laat je hem bij 101 beginnen etc. :D

Verwijderd

ach ik blijf er bij dat je dat script gewoon serverside moet draaien en niet via een webinterface :)

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
Jup, maar dit heb ik ook nodig voor mijn charts fetcher... Die in 1 klap 14 charts inleest en die update...

Die heeft ook iets meer dan 30 sec nodig.

Troxx

aka Crypto T

Pagina: 1