Code execution Time

Code execution Time

am 29.11.2007 17:45:45 von UKuser

Hi,

I have the following script which I'm using to verify that websites
exist. However in either FF or IE it only runs for about 60 seconds.
I've changed what ini settings I think affect it, but to no avail. Can
you tell me how to make it run for longer. I could have quite a few
hundred sites and I simply want to make sure they return OK.

The code will work as is but you'll see it probably won't do quite a
long list. (stops at about 10).

Thanks

A

ini_set('max_execution_time',999);
ini_set('max_input_time',999);

if (!(isset($_POST['sites']))){
print "

";
} else {

$sites = split("\r\n",$_POST['sites']);

foreach ($sites as $path){

$http_response_header = array(); // clear arrays in case previous
data still held
$file = array();
$file = @file_get_contents("http://$path");

if (!(is_numeric(strpos($http_response_header[0],"OK")))){ //
Is the website NOT ok
if (is_numeric(strpos($http_response_header[0],"30"))){ //
Has it been redirected?
foreach ($http_response_header as $k=>$value){
$value = str_replace("Content-Location","",$value); //
Strip out the Content tags which confuse issues
if (is_numeric(strpos($value,"Location"))){ //
If this one carries the location - use it
$value = str_replace("Location: ","",$value);
$http_response_header = array();
$file2 = @file_get_contents($value); // Connect
to the forwarded site just to check
if (!(is_numeric(strpos($http_response_header[0],"OK"))))
{
print "$path IS NOW $value
";
} else {
print "$value redirected but is DEAD
";
}
}
}
} else {
print "$path is not live
";
}
} else {
print "$path is ok
";
}
}
}
?>

Re: Code execution Time

am 29.11.2007 18:07:02 von ninja

On Nov 29, 8:45 am, UKuser wrote:
> Hi,
>
> I have the following script which I'm using to verify that websites
> exist. However in either FF or IE it only runs for about 60 seconds.
> I've changed what ini settings I think affect it, but to no avail. Can
> you tell me how to make it run for longer. I could have quite a few
> hundred sites and I simply want to make sure they return OK.
>
> The code will work as is but you'll see it probably won't do quite a
> long list. (stops at about 10).
>
> Thanks
>
> A
>
> > ini_set('max_execution_time',999);
> ini_set('max_input_time',999);
>
> if (!(isset($_POST['sites']))){
> print "

";
>
> } else {
>
> $sites = split("\r\n",$_POST['sites']);
>
> foreach ($sites as $path){
>
> $http_response_header = array(); // clear arrays in case previous
> data still held
> $file = array();
> $file = @file_get_contents("http://$path");
>
> if (!(is_numeric(strpos($http_response_header[0],"OK")))){ //
> Is the website NOT ok
> if (is_numeric(strpos($http_response_header[0],"30"))){ //
> Has it been redirected?
> foreach ($http_response_header as $k=>$value){
> $value = str_replace("Content-Location","",$value); //
> Strip out the Content tags which confuse issues
> if (is_numeric(strpos($value,"Location"))){ //
> If this one carries the location - use it
> $value = str_replace("Location: ","",$value);
> $http_response_header = array();
> $file2 = @file_get_contents($value); // Connect
> to the forwarded site just to check
> if (!(is_numeric(strpos($http_response_header[0],"OK"))))
> {
> print "$path IS NOW $value
";
> } else {
> print "$value redirected but is DEAD
";
> }
> }
> }
> } else {
> print "$path is not live
";
> }
> } else {
> print "$path is ok
";
> }
> }}
>
> ?>

Hey there UKUser, Have you considered using the command line binary
with lib_curl, then piping your output to an html file? I've done that
with MANY of my automated PHP scripts, with great success and no
concerns about timeouts. I've a script that can run as long as 2 hours
doing some data administration tasks from 1AM-3AM local, scheduled
through cron. Some of the data tasks required involve reading CSV
feeds from servers other than my own, as well as remote PostgreSQL
queries. There is another script that builds an HTML report on server
status and uptimes that's in a FF window with a META refresh tag that
triggers on 5 minute marks. Hope that gives you some ideas on how to
get your script doing what you need it to do.

Good Luck.

Re: Code execution Time

am 29.11.2007 18:11:36 von Jerry Stuckle

UKuser wrote:
> Hi,
>
> I have the following script which I'm using to verify that websites
> exist. However in either FF or IE it only runs for about 60 seconds.
> I've changed what ini settings I think affect it, but to no avail. Can
> you tell me how to make it run for longer. I could have quite a few
> hundred sites and I simply want to make sure they return OK.
>
> The code will work as is but you'll see it probably won't do quite a
> long list. (stops at about 10).
>
> Thanks
>
> A
>
> > ini_set('max_execution_time',999);
> ini_set('max_input_time',999);
>
> if (!(isset($_POST['sites']))){
> print "

";
> } else {
>
> $sites = split("\r\n",$_POST['sites']);
>
> foreach ($sites as $path){
>
> $http_response_header = array(); // clear arrays in case previous
> data still held
> $file = array();
> $file = @file_get_contents("http://$path");
>
> if (!(is_numeric(strpos($http_response_header[0],"OK")))){ //
> Is the website NOT ok
> if (is_numeric(strpos($http_response_header[0],"30"))){ //
> Has it been redirected?
> foreach ($http_response_header as $k=>$value){
> $value = str_replace("Content-Location","",$value); //
> Strip out the Content tags which confuse issues
> if (is_numeric(strpos($value,"Location"))){ //
> If this one carries the location - use it
> $value = str_replace("Location: ","",$value);
> $http_response_header = array();
> $file2 = @file_get_contents($value); // Connect
> to the forwarded site just to check
> if (!(is_numeric(strpos($http_response_header[0],"OK"))))
> {
> print "$path IS NOW $value
";
> } else {
> print "$value redirected but is DEAD
";
> }
> }
> }
> } else {
> print "$path is not live
";
> }
> } else {
> print "$path is ok
";
> }
> }
> }
> ?>
>

If you can change the PHP timeout parameter (some hosting companies let
you do so, some don't), you're probably running into a browser timeout.

If so, you might be able to keep the browser from timing out by calling
ob_flush() and flush() after printing a message. No guarantees - the
output may still be cached by your server. But then PHP isn't caching
it, also.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

Re: Code execution Time

am 05.12.2007 17:06:27 von UKuser

On 29 Nov, 17:11, Jerry Stuckle wrote:
> UKuser wrote:
> > Hi,
>
> > I have the following script which I'm using to verify that websites
> > exist. However in either FF or IE it only runs for about 60 seconds.
> > I've changed what ini settings I think affect it, but to no avail. Can
> > you tell me how to make it run for longer. I could have quite a few
> > hundred sites and I simply want to make sure they return OK.
>
> > The code will work as is but you'll see it probably won't do quite a
> > long list. (stops at about 10).
>
> > Thanks
>
> > A
>
> > > > ini_set('max_execution_time',999);
> > ini_set('max_input_time',999);
>
> > if (!(isset($_POST['sites']))){
> > print "

";
> > } else {
>
> > $sites = split("\r\n",$_POST['sites']);
>
> > foreach ($sites as $path){
>
> > $http_response_header = array(); // clear arrays in case previous
> > data still held
> > $file = array();
> > $file = @file_get_contents("http://$path");
>
> > if (!(is_numeric(strpos($http_response_header[0],"OK")))){ //
> > Is the website NOT ok
> > if (is_numeric(strpos($http_response_header[0],"30"))){ //
> > Has it been redirected?
> > foreach ($http_response_header as $k=>$value){
> > $value = str_replace("Content-Location","",$value); //
> > Strip out the Content tags which confuse issues
> > if (is_numeric(strpos($value,"Location"))){ //
> > If this one carries the location - use it
> > $value = str_replace("Location: ","",$value);
> > $http_response_header = array();
> > $file2 = @file_get_contents($value); // Connect
> > to the forwarded site just to check
> > if (!(is_numeric(strpos($http_response_header[0],"OK"))))
> > {
> > print "$path IS NOW $value
";
> > } else {
> > print "$value redirected but is DEAD
";
> > }
> > }
> > }
> > } else {
> > print "$path is not live
";
> > }
> > } else {
> > print "$path is ok
";
> > }
> > }
> > }
> > ?>
>
> If you can change the PHP timeout parameter (some hosting companies let
> you do so, some don't), you're probably running into a browser timeout.
>
> If so, you might be able to keep the browser from timing out by calling
> ob_flush() and flush() after printing a message. No guarantees - the
> output may still be cached by your server. But then PHP isn't caching
> it, also.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================

Just wanted to say thanks guys for both your input. It is a mix of the
max-executiont time, the socket connection time and the browsers. I'm
nearly there - and get better results by running my script with php-
cgi.exe rather than through a browser.

Many thanks

A

Re: Code execution Time

am 05.12.2007 18:21:12 von AnrDaemon

Greetings, UKuser.
In reply to Your message dated Wednesday, December 5, 2007, 19:06:27,

> and get better results by running my script with php-
> cgi.exe rather than through a browser.

O.o What You mean "running script through a browser"?


--
Sincerely Yours, AnrDaemon