0

我做了一个日常批处理,在使用 Google Translation API 将法语(或其他语言)数据翻译成英语后,将其插入我的数据库中。当我在本地环境中使用它时,没有问题。但是,当此过程在生产中执行时,它会在结束之前停止。你对这个问题有什么想法吗?我的 Google Translation API 帐户中是否有要更改的参数?

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

我的文件:

53 Ce code promo vous fait gagner 12% de remise sur les article de la catégorie sacs multifonctions。C'est pour vous!,12% de réduction Newchic,12% de réduction Newchic,Newchic,newchic,1534118399,code,HOMEBAG12, http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=

54 Newchic vous offre avec ce 代码减少;15% de remise sur les article de la catégorie animal de compagnie。Ne ratez pas cette offre!,15% de réduction Newchic,15% de réduction Newchic,Newchic,newchic,1534291199,code,PETDOG15, http://tc.tradetracker.net/?XXXXXXXXXXXXXXXXXX=

55 Découvrez les offres en cours sur le site et gagnez 10% de remise sur les article de la catégorie vêtements de maternité。Offre valable grâce au 代码促销。Profitez-en!,10% de réduction Newchic,10% de réduction 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'];
}
4

0 回答 0