You are here

function services_client_error_retry in Services Client 7.2

Same name and namespace in other branches
  1. 7 services_client_error/services_client_error.module \services_client_error_retry()

Retry and execute error

Parameters

array $error: Error record from DB.

Return value

ServicesClientEventResult Reslt from sync operation.

3 calls to services_client_error_retry()
ServicesClientErrorWebTestCase::testServicesClientErrors in services_client_error/tests/services_client_error.test
services_client_error_admin_repair_synchronize in services_client_error/services_client_error.admin.inc
Try to resynchronize data.
services_client_error_task_retry_call in services_client_error/services_client_error.tasks.inc
Re-try to send data to remote connection on services client failure.

File

services_client_error/services_client_error.module, line 387
Services Client error handling, re-try and reporting.

Code

function services_client_error_retry($error) {
  if (empty($error['event'])) {
    return;
  }

  // Count error retry
  $error['retries']++;
  $handler = services_client_get_event($error['event']);
  $result = $handler
    ->addTag('sc_error')
    ->setEntity($error['entity'])
    ->execute();
  if ($result
    ->success()) {
    $error['status'] = $result->sc_error_status = SC_ERROR_COMPLETED;
  }
  else {
    $error['error_code'] = $result->error_code;
    $error['error_message'] = $result->error_message;
  }

  // Count retries.
  $result->sc_error_retries = $error['retries'];
  drupal_write_record('services_client_error', $error, array(
    'eid',
  ));
  return $result;
}