Skip to content

Commit

Permalink
update for crystal-0.26.1
Browse files Browse the repository at this point in the history
  • Loading branch information
maiha committed Sep 20, 2018
1 parent d12aebd commit 05f9e26
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

redis-cluster library for [Crystal](http://crystal-lang.org/).

- crystal: 0.24.2
- crystal: 0.26.1

## Classes

Expand Down
2 changes: 1 addition & 1 deletion shard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version: 0.7.8
dependencies:
redis:
github: stefanwille/crystal-redis
version: ">= 1.9.0"
version: ">= 2.1.0"
crc16:
github: maiha/crc16.cr
version: ">= 0.1.0"
Expand Down
5 changes: 3 additions & 2 deletions src/cluster/bootstrap.cr
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,12 @@ module Redis::Cluster

def redis
Redis.new(host: host, port: port, unixsocket: @sock, password: @pass)
rescue err : Errno
rescue err : Errno | Redis::Error
if sock? && err.to_s =~ /No such file or directory/
raise Errno.new("unix://%s" % sock)
else
raise err
# convert `Redis::Error` to `Errno`
raise Errno.new(err.to_s)
end
end

Expand Down
8 changes: 4 additions & 4 deletions src/cluster/commands.cr
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ module Redis::Cluster::Commands
{% invoke = "#{name}(#{named_args})".id %}
def {{ name.id }}({{ args.join(", ").id }})
redis(key.to_s).{{ invoke }}
rescue error : Redis::DisconnectedError | IO::Error
rescue error : Redis::ConnectionError | IO::Error
on_disconnected(key.to_s, error)
redis(key.to_s).{{ invoke }}
rescue moved : Redis::Error::Moved
Expand All @@ -41,7 +41,7 @@ module Redis::Cluster::Commands
key = {{args.first}}.first { raise "{{name}}: key not found" }
begin
redis(key.to_s).{{ invoke }}
rescue error : Redis::DisconnectedError | IO::Error
rescue error : Redis::ConnectionError | IO::Error
on_disconnected(key.to_s, error)
redis(key.to_s).{{ invoke }}
rescue moved : Redis::Error::Moved
Expand All @@ -64,7 +64,7 @@ module Redis::Cluster::Commands
key = {{args.id}}[1]
begin
redis(key.to_s).{{ invoke }}
rescue error : Redis::DisconnectedError | IO::Error
rescue error : Redis::ConnectionError | IO::Error
on_disconnected(key.to_s, error)
redis(key.to_s).{{ invoke }}
rescue moved : Redis::Error::Moved
Expand All @@ -88,7 +88,7 @@ module Redis::Cluster::Commands
key = h.keys.first # for first key
begin
redis(key.to_s).{{ invoke }}
rescue error : Redis::DisconnectedError | IO::Error
rescue error : Redis::ConnectionError | IO::Error
on_disconnected(key.to_s, error)
redis(key.to_s).{{ invoke }}
rescue moved : Redis::Error::Moved
Expand Down
6 changes: 3 additions & 3 deletions src/redis.cr
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class ::Redis::Client
redis_for(key).pipelined do |api|
yield(api)
end
rescue err : Redis::DisconnectedError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
rescue err : Redis::ConnectionError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
close!
if reconnect
redis_for(key).pipelined do |api|
Expand All @@ -109,7 +109,7 @@ class ::Redis::Client
redis_for(key).multi do |api|
yield(api)
end
rescue err : Redis::DisconnectedError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
rescue err : Redis::ConnectionError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
close!
if reconnect
redis_for(key).multi do |api|
Expand All @@ -123,7 +123,7 @@ class ::Redis::Client
private macro method_missing(call)
begin
redis.{{call.id}}
rescue err : Redis::DisconnectedError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
rescue err : Redis::ConnectionError | IO::Error | Redis::Error::Moved | Redis::Error::Ask | Errno
# We should reconnect when these errors happened.
close!
raise err
Expand Down

0 comments on commit 05f9e26

Please sign in to comment.