2017-03-07 2 views
1

を失敗することは誰もが、私はサポートのためsimPROを求めているし、彼らが問題を複製することはできませんと言うsimPRO Tivokaクライアントが断続的に

、断続的に失敗するからsimPRO PHP Tivokaライブラリを停止する方法を知っているん。 set_time_limit()のライブラリのどこかで呼び出されていますが、見つけられない場合があります。

私は、実行中でいくつかの点(決して同じパイント)で

<?php 
    $jobIDs = array(1,2,3,4,5,6,7,8,9,...,500); 
    foreach($jobIDs as $current Job) 
    { 
     $jobDetails = $simPROClient -> JobRetrieve(0/*this is the company id as per their doccumentation at http://api.simpro.co/*,$currentJob); 
    } 
?> 

を使用して複数のジョブを取得するとPHP

<?php 
    set_time_limit(0); 
    //simPRO Settings 

     $companyID = 0; 
     use SimPro\Api\Client as SimProClient; 
     use Eher\OAuth\Consumer as OAuthConsumer; 
     use \Monolog\Logger; 
    { 
     //if (PHP_SAPI != 'cli') die("This example must be run from the command line"); 

     include ("../../simpro_api_examples/vendor/autoload.php"); 

     define("SERVER", '**************'); 
     define("CONSUMER_KEY", '**************'); 
     define("CONSUMER_SECRET", '***************'); 

     $logger = new Logger('api-client'); 
     $logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stderr'), Logger::INFO); 
     $simPROClient = new SimProClient(SERVER , new OAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET), null); 
     $simPROClient->setLogger($logger); 
    } 
    ?> 

に次のように実行しているイムそれは、次の

を返します。

致命的なエラー:未知のTivoka ​​\ Exception \ ConnectionException:Connecン は "https://integrated-za.simprosuite.com/api/は" Cで失敗する:\アビスのWeb サーバー\ htdocsに\ simpro_api_examples \ベンダ\ tivoka ​​\ tivoka ​​\ libに\ Tivoka ​​\クライアント\ Connection.php:114 スタックトレース:#0 C:\アビスウェブ サーバー\ htdocsに\ simpro_api_examples \ SRC \ SimPro \アピ\ Client.php(109): Tivoka ​​\クライアント\ Connection(接続) - > Connect送信(オブジェクト(Tivoka ​​\クライアント\リクエスト))#1 C:\アビスのWeb サーバー\ htdocsに\クライアント\ __呼び出し( 'JobRetrieve'、配列)#2 {メイン} C:\ Abyss Web サーバー\ htdocs \ simpro_api_examples \ vendor \ tivokaにスローされました。 \ tivoka ​​\ lib \ Tivoka ​​\ Client \ Connection.php on line 114

$jobIDsアレイ内のジョブIDが少ないコマンドを実行すると、スクリプトはエラーなく実行されます。

私はSimpro PHPライブラリはタイムアウトが10秒にハードコードされたtivoka RPCクライアントの古いバージョンを使用し、ので、無制限のスクリプトの実行と入力時間

答えて

0

を可能にするために私のphp.iniを調整していますSimproAPIは遅いですが、残念なことに、これはほとんど情報なしで非常に簡単にタイムアウトします。私はこれがあなたの問題だと仮定しています。

バージョン3.1のタイムアウト(that Simpro uses)をhereに設定してください。

個人的に私はGuzzleを使用して、OAuth 1.0要求をSimpro APIに送ります。それははるかに優れたクライアントです。

Simpro APIが非常に遅いため、ローカルに取得されたデータの一部をキャッシュすることもお勧めします。

+0

私がチェックアウトしてくださいだろうおかげ@Hippieは、この応答のために、私は実際にtivokaリポジトリ内のすべての単一のファイルを経て、私のニーズに合わせてタイムアウトを変更し、これは私のためのトリックを行っているようだ、 しかし、将来的にはグッと –

関連する問題