API - Twitter'ın Ups ve Downs ile başa çıkmak

2 Cevap php

Ben Jaisen tarafından yapılan bir büyük sınıf yararlanabilirler: http://github.com/jmathai/twitter-async/tree/master. Son zamanlarda twitter yukarı ve aşağı olmuştur ve aslında çalışma olmaktan twitter benim bağımlılığı azaltmak için çalışıyorum bu yüzden gelecekte de aynı olmaya devam edecektir eminim.

Aşağıdaki benim header.php var ve sağ üst kısmında yer alır ve her kullanıcı için giriş URL'sini oluşturur şeydir. Twitter aşağı ise, benim site sürece gerekiyor ve bu bir istisna atar gibi için kilitleniyor. Ben de tür yaptım bu expceptions yakalamak zorundayız.

Ben artık sadece birkaç saniye sonra API isteği iptal ve sadece sayfa yükleme ve perde arkasında denemeye devam etmek istiyorum. Ben en iyi bu nasıl yapabilirim?

<?php include './twitter/EpiCurl.php'; include './twitter/EpiOAuth.php'; include './twitter/EpiTwitter.php';
$consumer_key = 'mykey';
$consumer_secret = 'mysecret';

$twitterObj = new EpiTwitter($consumer_key, $consumer_secret); 

try{  

$twiturl = $twitterObj->getAuthenticateUrl();
$url = "window.open('".$twiturl."','Login', 'left=20,top=20,width=500,height=500,toolbar=0,resizable=1'); startLoad();";

}catch(EpiOAuthBadRequestException $e){  
  // bad request exception do something  
  $statusMessage = 'Oops an error has occurred: ' . $e->getMessage();  
}catch(EpiOAuthUnauthorizedException $e){  
  // bad authorization..probably bad tokens, do something different  
  $statusMessage = 'Oops an error has occurred: ' . $e->getMessage();  
}catch(EpiOAuthException $e){  
  // uh oh, unknown oauth exception  
  $statusMessage = 'Oops, an unknown authorisation error has occurred! The mojo team have been notified! Please try again.';
}

if(isset($statusMessage)){

}
?>

Yukarıdaki kod herhangi bir iyileşme de takdir edilecektir.

Tüm teşekkürler

2 Cevap

Kütüphane kıvırmak aşımı içine geçirilecek bir değer destekler.

$twitterObj->setTimeout($secs_request_timeout);

Ben gibi iyi bir bağlantı zaman aşımı geçen desteği eklendi. Ben hızı sınırlı oluyorum çünkü birim testleri çalıştırmak için açılamıyor. Ben çalıştığını doğrulamak kez bu taahhüt edecektir.

$twitterObj->setTimeout($secs_request_timeout, $secs_connection_timeout);