In batches van 10 checken

Gestart doorMilan12 reacties29 weergaven

13 berichten · pagina 1 van 1

Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

Ik heb nu een script dat websites checkt of ze online zijn, maar omdat waarschijnlijk de load van 400+ websites te hoog is, wil ik dat hij ze in batches van 10 checkt:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
 * @author Milan Drossaerts
 * @for Bob Maas
 * @page check.php
 * @copyright 2009
 */[/COLOR]
[URL="http://www.php.net/include"]include[/URL] [COLOR= #007700]([/COLOR][COLOR= #DD0000]admin/config.php[/COLOR][COLOR= #007700]);[/COLOR][COLOR= #FF8000]//Database connectie[/COLOR]
[COLOR= #0000BB]$afzender[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$fetchen[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]afzender[/COLOR][COLOR= #007700]];[/COLOR]
[COLOR= #0000BB]$hoi[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM settings"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR]
[COLOR= #0000BB]$fetchen[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$hoi[/COLOR][COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM submission"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//De query om te selecteren[/COLOR]

[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fetch[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700]))[/COLOR][COLOR= #FF8000]//Even vaak uitvoeren als in database[/COLOR]
[COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700](@[/COLOR][URL="http://www.php.net/file_get_contents"]file_get_contents[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]url[/COLOR][COLOR= #007700]]))[/COLOR][COLOR= #FF8000]//Kijken of de website iets bevat[/COLOR]
    [COLOR= #007700]{[/COLOR]
        [COLOR= #FF8000]//Als website bereikbaar, dan aantal waarschuwingen weer na 0 zetten?[/COLOR]
    [COLOR= #007700]}[/COLOR]
    [URL="http://www.php.net/else"]else[/URL]
    [COLOR= #007700]{[/COLOR]
        [URL="http://www.php.net/mysql_query"]mysql_query[/URL] [COLOR= #007700]([/COLOR][COLOR= #DD0000]"UPDATE submission SET offline = offline+1 WHERE url="[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$fetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]url[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//Een offline bijschrijven, na aangegeven getal wordt e-mail verzonden[/COLOR]
    [COLOR= #007700]}
    
    
    
}[/COLOR]
[COLOR= #0000BB]$sqlt[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT offline FROM submission WHERE offline="[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$fetchen[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]offline[/COLOR][COLOR= #007700]] .[/COLOR] [COLOR= #DD0000]""[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//Kijken welke websites al een aangegeven keer offline zijn geweest[/COLOR]
[COLOR= #0000BB]$sqle[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM submission"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//Weer gegevens ophalen[/COLOR]
[COLOR= #0000BB]$fetche[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sqle[/COLOR][COLOR= #007700]);[/COLOR][COLOR= #FF8000]//Zorgen dat gegevens kunnen worden weergeven[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sqlt[/COLOR][COLOR= #007700])[/COLOR][COLOR= #FF8000]//Even vaak uitvoeren als in database[/COLOR]
[COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/mysql_query"]mysql_query[/URL] [COLOR= #007700]([/COLOR][COLOR= #DD0000]"INSERT INTO offlinewebsite (url, email) VALUES ("[/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$fetche[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]url[/COLOR][COLOR= #007700]] .[/COLOR][COLOR= #DD0000]", "[/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$fetche[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]mail[/COLOR][COLOR= #007700]] .[/COLOR][COLOR= #DD0000]")"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//Gegevens van een website opslaan 5x of meer is offline geweest[/COLOR]
[COLOR= #007700]}[/COLOR]
[COLOR= #0000BB]$sqlmail[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT email, url FROM offlinewebsites"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR][COLOR= #FF8000]//Email ophalen[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$fetchmail[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sqlmail[/COLOR][COLOR= #007700]))[/COLOR][COLOR= #FF8000]//Weer zovaak uitvoeren als in database[/COLOR]
[COLOR= #007700]{[/COLOR]
            [COLOR= #0000BB]$to[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$fetchmail[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]email[/COLOR][COLOR= #007700]];[/COLOR][COLOR= #FF8000]//Naar welk e-mail adres versturen?[/COLOR]
            [COLOR= #0000BB]$subject[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$fetchen[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]onderwerp[/COLOR][COLOR= #007700]];[/COLOR][COLOR= #FF8000]//Onderwerp[/COLOR]
            [COLOR= #0000BB]$headers[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"MIME-Version: 1.0"[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$headers[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"Content-type: text/html; charset=iso-8859-1"[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$headers[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"From: $afzender <$afzender>"[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$headers[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"X-Mailer: PHP v"[/COLOR][COLOR= #007700].[/COLOR][URL="http://www.php.net/phpversion"]phpversion[/URL][COLOR= #007700]().[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$bericht[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$fetchen[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]bericht[/COLOR][COLOR= #007700]];[/COLOR]
            [URL="http://www.php.net/mail"]mail[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$to[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$subject[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$bericht[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$headers[/COLOR][COLOR= #007700]);[/COLOR][COLOR= #FF8000]//Mail verzenden[/COLOR]
[COLOR= #007700]}[/COLOR]
?>


Kan iemand helpen?

#Milan
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Mysql kan best wel 400 Requests aan hoor.

Mijn MySQL server kreeg per seconde 2000 requests of meer om de oren vanwegen een insert script dat ik uitvoerde *o/*

Maar misschien iets met sleep()
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als ik het bestandje uitvoer, krijg ik na 5/10 seconden MySQL server has gone away, host is trouwens gehosted bij Deziweb
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Anders laat je gewoon een cronjob draaien om de zoveel minuten ofzo?
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar als de cronjob dan die error krijg?
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
betere hosting nemen? emo
0
Milan

Lid · Topicstarter

Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het is niet voor mij ea, het is voor een vriend.. Maar Deziweb is toch wel een goede hosting?
0
Remi

Lid

Berichten
1.270
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nog nooit van gehoord emo
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
OOk nog nooit gehoord dat er staat "mysql has gone away"

Ik heb een script bijna 1 uur laten draaien en nog kreeg ik dat niet emo
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
zet effe

set_time_limit(0);


in je script
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
OOk nog nooit gehoord dat er staat "mysql has gone away"
Ik heb een script bijna 1 uur laten draaien en nog kreeg ik dat niet emo
same here, ik gewoon een script 2 uur laten draaien, miljoenen querys en geen "mysql has gone away"
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
OFtewel, je hebt een flutserver @ TS
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Sla gewoon de datum + tijd op van je laatste check zegmaar, en zorg dat je script elke minuut gedraaid wordt.
Dan controleer je iedereen die 24 uur lang nog niet is gekeurd, met een maximum van 10 ofzo.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren