pstengel (owner)

Forks

Revisions

  • 0ff119 Thu Jul 02 11:16:05 -0700 2009
gist: 139616 Download_button fork
public
Public Clone URL: git://gist.github.com/139616.git
Embed All Files: show embed
PHP #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
 
declare(ticks = 1);
 
class HRServerMon_Poller
{
var $hostname;
 
function HRServerMon_Poller($hostname)
{
if ($hostname == "host7.hrwebservices.net")
sleep(5);
else
sleep(2);
 
$this->hostname = $hostname;
echo $this->hostname . "\n";
}
}
 
$children = 0;
$servers = file("servers");
 
for ($i = 0; $i < 5; $i++) {
$server = trim(array_pop($servers));
$children++;
 
$pid = pcntl_fork();
if (!$pid) {
echo "Child executed. There are $children running.\n";
$poll = new HRServerMon_Poller($server);
exit(0);
}
}
 
while (1) {
while (pcntl_waitpid(0, $status) != -1) {
$children--;
echo "Child exited. There are $children running.\n";
 
if (count($servers)) {
$server = trim(array_pop($servers));
$children++;
 
$pid = pcntl_fork();
if (!$pid) {
echo "Child executed. There are $children running.\n";
$poll = new HRServerMon_Poller($server);
exit(0);
}
}
}
}
 
?>