diff options
-rw-r--r-- | lib/4store.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/4store.rb b/lib/4store.rb index d03a38e..4240879 100644 --- a/lib/4store.rb +++ b/lib/4store.rb @@ -44,9 +44,18 @@ module OpenTox end def self.update sparql - RestClient.post(update_uri, :update => sparql ) - rescue - bad_request_error $!.message, update_uri + attempts = 0 + begin + attempts += 1 + RestClient.post(update_uri, :update => sparql ) + rescue + if attempts < 4 # 4store may return errors under heavy load + sleep 1 + retry + else + bad_request_error $!.message, update_uri + end + end end def self.query sparql, mime_type |