aadl / arborcat

Drupal 8 module providing catalog interface for Evergreen
GNU General Public License v3.0
3 stars 0 forks source link

Potential issue not catching time out #139

Open eby opened 4 years ago

eby commented 4 years ago

Helpdesk today. Patron attempted to schedule all items but only some were scheduled.

Sep  8 10:19:20
GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) in GuzzleHttp\Handler\CurlFactory::createRejection() (line 200 of /var/www/aadlorg/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php).

Looks like she got a 500 error but ignored that it happened (logs omitted for privacy). So some things were scheduled but not all.

Not sure what part is a loop that could time out part way through but adding it here.

lauriek334 commented 4 years ago

On submit, the submit routine has a loop that does two things:

  1. in EVG, update the hold expire time for the holdRequest
  2. create a patron_pickup_request record in the drupal table.

The api call to update the holdRequest on EVG uses guzzle. $updated_hold = $guzzle->get("$api_url/patron/$selfCheckApi_key-$patron_barcode/update_hold/" . $hold['holdId'] . "?shelf_expire_time=$pickup_date 23:59:59")->getBody()->getContents();

It would be interesting to look at the api access logs on prod to see the get requests coming in. Where are the api logs for the production api stored?