本文整理汇总了PHP中Guzzle\Service\Client::update方法的典型用法代码示例。如果您正苦于以下问题:PHP Client::update方法的具体用法?PHP Client::update怎么用?PHP Client::update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guzzle\Service\Client
的用法示例。
在下文中一共展示了Client::update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dequeue
public static function dequeue($job, $data)
{
$callback_url = $data['callback_url'];
$method = strtoupper($data['callback_method']);
$payload = unserialize(base64_decode($data['callback_payload_base64']));
if (empty($callback_url)) {
Log::warning('Empty callback URL');
return FALSE;
}
$client = new HttpClient();
if ($method == 'GET') {
$request = $client->get($callback_url);
} elseif ($method == 'POST') {
$request = $client->post($callback_url, array(), $payload);
} elseif ($method == 'PUT') {
$request = $client->put($callback_url, array(), $payload);
} elseif ($method == 'DELETE') {
$request = $client->delete($callback_url);
} elseif ($method == 'UPDATE') {
$request = $client->update($callback_url);
} elseif ($method == 'PATCH') {
$request = $client->patch($callback_url);
} else {
QueuedHttpClient::logFailedCallback($job, $data, ['success' => false, 'message' => 'Unsupported method: ' . $method], 'hard');
return FALSE;
}
try {
$response = $request->send();
if ($response->getStatusCode() != 200) {
if ($job->attempts() > 60) {
QueuedHttpClient::logFailedCallback($job, $data, $response, 'hard');
$job->delete();
} else {
QueuedHttpClient::logFailedCallback($job, $data, $response, 'soft');
$job->release(60);
}
return $response;
}
// request probably successful, delete from queue
$job->delete();
return $response;
// these exceptions are broken out here because perhaps we want to
// treat them differently in deciding whether to requeue or not
} catch (CurlException $e) {
// curl network and low-level exceptions
QueuedHttpClient::retryLaterOrDelete($job, $data, get_class($e) . ": " . $e->getResponse(), 60, 60 * 24);
// retry every minute for up to 24 hours
} catch (Guzzle\Http\Exception\ClientErrorResponseException $e) {
// server 4xx exceptions
QueuedHttpClient::retryLaterOrDelete($job, $data, get_class($e) . ": " . $e->getResponse(), 60, 60);
// retry every minute for up to an hour
} catch (Guzzle\Http\Exception\ServerErrorResponseException $e) {
// server 5xx exceptions
QueuedHttpClient::retryLaterOrDelete($job, $data, get_class($e) . ": " . $e->getResponse(), 60, 60 * 24);
// retry every minute for up to 24 hours
} catch (Guzzle\Common\Exception\RuntimeException $e) {
// result most likely wasn't in JSON format
QueuedHttpClient::retryLaterOrDelete($job, $data, get_class($e) . ": " . $e->getMessage(), 60, 10);
// retry every minute for up to ten minutes
} catch (Exception $e) {
// unknown other error
QueuedHttpClient::retryLaterOrDelete($job, $data, get_class($e) . ": " . $e->getMessage(), 60, 60 * 24);
// retry every minute for up to 24 hours
}
}