使用Google翻译API的批处理过程在文件结尾之前停止

时间:2018-07-19 08:51:11

标签: php google-translation-api

我进行了每日批处理,使用Google翻译API将法语(或其他语言)数据转换为英语后,将其插入数据库中。当我在本地环境中使用它时,没有问题。但是,当此过程在生产中执行时,它将在结束之前停止。您对这个问题有想法吗?我的Google Translation API帐户中可以更改参数吗?

例如,今天早上,过程在第54行停止:

我的文件:

  

53条Ce促销商品,加纳12%de remise sur les文章   catégoriesacs多功能。倒酒!,减价12%   纽契奇,降额12%   Newchic,Newchic,newchic,1534118399,code,HOMEBAG12,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=

     

54 Newchic vous offre avec ce代码还原;赎回费的15%   公司动物分类文章。 Ne Ratez Pas cette   offre!,15%扣减纽契奇,15%扣减   Newchic,Newchic,newchic,1534291199,code,PETDOG15,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=

     

55处德古弗雷兹河畔法尔河畔加涅斯省法院10%的遗产   物资类别的sur les文章。有价值   希腊的代码促销。 Profitez-en !,纽契奇(Newchic)10%降价   减少   Newchic,Newchic,newchic,1534636799,code,MOM2018,http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXXXXX=

我的程序:

 $apiKey = 'XXXXXXXXXXXXXXXXXXXX';

 while($tab=fgetcsv($file,2048,',')){
 .....

       $result=$this->language_curl($apiKey,$text);

       $exclude_list=array("en","und","","erreur");
       if (!in_array($result, $exclude_list)){ 
         $translate_title=$this->translate_curl($apiKey,$title,$result);
         $translate_content=$this->translate_curl($apiKey,$content,$result);

         $content=$translate_content;
         $title=$translate_title;

       }
 ....
 insert database
 ....
 end while

...

 function language_curl($apiKey,$text){

  $url = 'https://www.googleapis.com/language/translate/v2/detect?key=' . $apiKey . '&q=' . rawurlencode($text);
  $handle = curl_init($url);
  curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($handle);                 
  $responseDecoded = json_decode($response, true);
  $responseCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
  curl_close($handle);
  if($responseCode != 200) {
    $return = "erreur";
  }
  else {
    $return = $responseDecoded['data']['detections'][0][0]['language'];
  }

  return $return;
}

function translate_curl($apiKey,$text,$result){

  $url = 'https://www.googleapis.com/language/translate/v2?key=' . $apiKey . '&q=' . rawurlencode($text) . '&source=' . $result . '&target=en';
  $handle = curl_init($url);
  curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($handle);                 
  $responseDecoded = json_decode($response, true);
  curl_close($handle);
  return $responseDecoded['data']['translations'][0]['translatedText'];
}

0 个答案:

没有答案