create attempts to fetch the resource in tainacan old importer
This commit is contained in:
parent
18c4dcc801
commit
5dca8f3c6d
|
@ -118,6 +118,9 @@ class Old_Tainacan extends Importer{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->add_log('FInished repository metadata');
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -156,6 +159,8 @@ class Old_Tainacan extends Importer{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -204,6 +209,8 @@ class Old_Tainacan extends Importer{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -220,7 +227,7 @@ class Old_Tainacan extends Importer{
|
||||||
|
|
||||||
$this->add_log('Proccess item index' . $index . ' in collection OLD ' . $collection_id['source_id'] );
|
$this->add_log('Proccess item index' . $index . ' in collection OLD ' . $collection_id['source_id'] );
|
||||||
|
|
||||||
$info = wp_remote_get( $this->get_url() . $this->tainacan_api_address . "/collections/".$collection_id['source_id']."/items?includeMetadata=1&filter[items_per_page]=1&filter[page]=" . $page, $args );
|
$info = $this->requester( $this->get_url() . $this->tainacan_api_address . "/collections/".$collection_id['source_id']."/items?includeMetadata=1&filter[items_per_page]=1&filter[page]=" . $page, $args );
|
||||||
$info = json_decode($info['body']);
|
$info = json_decode($info['body']);
|
||||||
|
|
||||||
if( !isset( $info->items ) ){
|
if( !isset( $info->items ) ){
|
||||||
|
@ -391,7 +398,7 @@ class Old_Tainacan extends Importer{
|
||||||
'redirection' => 30,
|
'redirection' => 30,
|
||||||
);
|
);
|
||||||
|
|
||||||
$info = wp_remote_get( $this->get_url() . $this->tainacan_api_address . "/collections/".$collection_id."/items", $args );
|
$info = $this->requester( $this->get_url() . $this->tainacan_api_address . "/collections/".$collection_id."/items", $args );
|
||||||
|
|
||||||
if( !isset($info['body']) ){
|
if( !isset($info['body']) ){
|
||||||
$this->add_error_log($result->get_error_message());
|
$this->add_error_log($result->get_error_message());
|
||||||
|
@ -547,12 +554,55 @@ class Old_Tainacan extends Importer{
|
||||||
* executes the request
|
* executes the request
|
||||||
*/
|
*/
|
||||||
protected function requester( $link ){
|
protected function requester( $link ){
|
||||||
|
$has_response = false;
|
||||||
|
$requests = 0;
|
||||||
|
|
||||||
$args = array(
|
$args = array(
|
||||||
'timeout' => 30,
|
'timeout' => 60,
|
||||||
'redirection' => 30,
|
'redirection' => 30,
|
||||||
);
|
);
|
||||||
|
|
||||||
return wp_remote_get($link, $args);
|
$this->add_log('fetching init ' . $link );
|
||||||
|
$result = wp_remote_get($link, $args);
|
||||||
|
|
||||||
|
while( !$has_response ){
|
||||||
|
|
||||||
|
if (is_wp_error($result)) {
|
||||||
|
|
||||||
|
$this->add_log($result->get_error_message());
|
||||||
|
$this->add_log('Error in fetch remote' . $url);
|
||||||
|
$this->add_log('request number ' . $requests);
|
||||||
|
|
||||||
|
} else if (isset($result['body'])){
|
||||||
|
$this->add_log('fetch OK ');
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( $requests > 10 ){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( $requests > 3 ){
|
||||||
|
$this->add_log('taking a moment to breathe, waiting for ' . ( $requests * 10 ) . ' seconds ' );
|
||||||
|
sleep( $requests * 10 );
|
||||||
|
}
|
||||||
|
|
||||||
|
$args = array(
|
||||||
|
'timeout' => 60,
|
||||||
|
'redirection' => 30,
|
||||||
|
);
|
||||||
|
|
||||||
|
$result = wp_remote_get($link, $args);
|
||||||
|
|
||||||
|
$requests++;
|
||||||
|
$this->add_log('going to ' . $requests );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$this->add_error_log('Error in fetch remote, expired the 10 requests limit ' . $url);
|
||||||
|
$this->abort();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -687,9 +737,8 @@ class Old_Tainacan extends Importer{
|
||||||
|
|
||||||
return $inserted_metadata->get_id();
|
return $inserted_metadata->get_id();
|
||||||
} else{
|
} else{
|
||||||
$this->add_error_log('Error creating metadata ' . $name );
|
$this->add_log('Error creating metadata ' . $name . ' in collection ' . $collection_id);
|
||||||
$this->add_error_log($newMetadatum->get_errors());
|
$this->add_log($newMetadatum->get_errors());
|
||||||
$this->abort();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue