function services_client_error_task_finalize in Services Client 7
Same name and namespace in other branches
- 7.2 services_client_error/services_client_error.tasks.inc \services_client_error_task_finalize()
Implements finalize hook to determine queue item state.
1 string reference to 'services_client_error_task_finalize'
- services_client_error_queue_runner_workers in services_client_error/
services_client_error.module - Implements hook_queue_runner_workers().
File
- services_client_error/
services_client_error.tasks.inc, line 53 - Queue Runner tasks callbacks.
Code
function services_client_error_task_finalize($data, $result) {
// Error can't be processed, i.e. it was marked as done, overwritten.
if ($result === TRUE) {
return QUEUERUNNER_STATE_DONE;
}
else {
// If error is recovered, don't re-try
if (isset($result['status']) && $result['status'] == SC_ERROR_COMPLETED) {
return QUEUERUNNER_STATE_DONE;
}
else {
if ($result['retries'] >= $data['retries']) {
$log = array(
'message' => t("Automatic ret-ry failed"),
'eid' => $data['eid'],
'status_change' => SC_ERROR_FAILED,
);
services_client_error_log_save($log);
db_query("UPDATE {services_client_error} SET status = :status WHERE eid = :eid", array(
':eid' => $data['eid'],
':status' => SC_ERROR_FAILED,
))
->execute();
}
}
}
return QUEUERUNNER_STATE_RETRYING;
}