forked from takinbo/rolling-curl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
example_groups.php
49 lines (38 loc) · 1.33 KB
/
example_groups.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
<?php
require 'RollingCurl.php';
require 'RollingCurlGroup.php';
class TestCurlRequest extends RollingCurlGroupRequest {
public $test_verbose = true;
function process($output, $info) {
echo "Processing " . $this->url . "\n";
if ($this->test_verbose)
print_r($info);
parent::process($output, $info);
}
}
class TestCurlGroup extends RollingCurlGroup {
function process($output, $info, $request) {
echo "Group CB: Progress " . $this->name . " (" . ($this->finished_requests + 1) . "/" . $this->num_requests . ")\n";
parent::process($output, $info, $request);
}
function finished() {
echo "Group CB: Finished" . $this->name . "\n";
parent::finished();
}
}
$group = new TestCurlGroup("High");
$group->add(new TestCurlRequest("www.google.de"));
$group->add(new TestCurlRequest("www.yahoo.de"));
$group->add(new TestCurlRequest("www.newyorktimes.com"));
$reqs[] = $group;
$group = new TestCurlGroup("Normal");
$group->add(new TestCurlRequest("twitter.com"));
$group->add(new TestCurlRequest("www.bing.com"));
$group->add(new TestCurlRequest("m.facebook.com"));
$reqs[] = $group;
$reqs[] = new TestCurlRequest("www.kernel.org");
// No callback here, as its done in Request class
$rc = new GroupRollingCurl();
foreach ($reqs as $req)
$rc->add($req);
$rc->execute();