This repository was archived by the owner on Jan 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmain.php
More file actions
58 lines (44 loc) · 1.25 KB
/
main.php
File metadata and controls
58 lines (44 loc) · 1.25 KB
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
56
57
58
<?php
namespace PackagistRequestor;
use Exception;
require __DIR__ . '/vendor/autoload.php';
$configs = array(
new Config\WPackagistConfig(),
//new Config\PackagistConfig(),
);
$index = 0;
do {
/**
* @var Config $config
*/
$config = $configs[ $index ];
try {
$requestor = new Requestor( $config );
echo "\nProcessing [{$config->provider}] (Memory used: {$config->memory_used()})";
foreach ( $requestor->yield_requested_groups() as $group ) {
echo "\n\nProcessing [{$group->label}] (Memory used: {$config->memory_used()})\n";
foreach ( $requestor->yield_requested_packages( $group ) as $package ) {
if ( $package->exists() && ! $group->download_again() ) {
continue;
}
if ( ! $requestor->request_package( $package ) ) {
echo ".";
continue;
}
$package->persist_info();
echo "\nPackage [{$package->slug}] saved (Memory used: {$config->memory_used()})";
}
}
} catch ( Exception $e ) {
/**
* Wait a minute after an error.
*/
echo "\n\nSleeping for a minute (Memory used: {$config->memory_used()})";
sleep( 60 );
continue;
}
unset( $requestor );
echo "\n\nSleeping 10 minutes (Memory used: {$config->memory_used()})";
sleep( 60*10 );
$index = ++$index % count( $configs );
} while ( true );