-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexport.php
More file actions
59 lines (43 loc) · 1.09 KB
/
export.php
File metadata and controls
59 lines (43 loc) · 1.09 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
59
<?php
use src\Config;
use src\Curl;
use src\ProductService;
require '_bootstrap.php';
$threads = null;
$seed = null;
if(isset($argv[1],$argv[2])){
$threads = $argv[1];
$seed = $argv[2];
if(!is_numeric($threads) || !is_numeric($seed)){
throw new Exception('Invalid parameters');
}
}
$limit = 1000;
$page = 1;
$offset = 0;
$productService = new ProductService();
$curl = new Curl();
$config = Config::load();
$baseUrl = $config['base_url'];
$headers = ['Content-Type: application/json'];
$index = 1;
for(;;){
$data = $productService->getData($limit, $offset, $threads, $seed);
if(!count($data)){
break;
}
$message = '### page ' . ($offset+1) . " ###\n";
echo $message;
foreach ($data as $row){
$id = $row['entity_id'];
$row = $productService->getRow($row);
$body = json_encode($row);
$url = $baseUrl . $id;
$curl->sendPostRequest($url, $body, $headers);
$message = 'created product #' . $index . ', id: ' . $id . "\n";
echo $message;
$index++;
}
$page++;
$offset += $limit;
}