Share Pastebin
Guest
Public paste!

sbutler

By: a guest | Aug 11th, 2009 | Syntax: Bash | Size: 0.54 KB | Hits: 297 | Expires: Never
Copy text to clipboard
  1. CURLOPTS="--silent --fail --remote-time"
  2. CURLRETRY_COUNT=6
  3. CURLRETRY_SLEEP=10
  4.  
  5. retry_curl () {
  6.   while [ 1 ]; do
  7.     CURLOUT=$(curl $CURLOPTS $@)
  8.     CURLEXIT=$?
  9.  
  10.     case $CURLEXIT in
  11.       5|6|7|15|16|28)
  12.         if [ $CURLRETRY_COUNT -gt 0 ]; then
  13.           (( CURLRETRY_COUNT-- ))
  14.           sleep $CURLRETRY_SLEEP
  15.         else
  16.           return $CURLEXIT
  17.         fi
  18.         ;;
  19.  
  20.         0)
  21.           return $CURLEXIT
  22.           ;;
  23.  
  24.         *)
  25.           CURLOUT=''
  26.           return $CURLEXIT
  27.           ;;
  28.       esac
  29.   done
  30. }