|
|
@ -21,6 +21,7 @@ import ( |
|
|
|
"net" |
|
|
|
"net" |
|
|
|
"net/url" |
|
|
|
"net/url" |
|
|
|
"sync" |
|
|
|
"sync" |
|
|
|
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
|
"github.com/minio/minio/pkg/event" |
|
|
|
"github.com/minio/minio/pkg/event" |
|
|
|
xnet "github.com/minio/minio/pkg/net" |
|
|
|
xnet "github.com/minio/minio/pkg/net" |
|
|
@ -148,10 +149,19 @@ func (target *AMQPTarget) Close() error { |
|
|
|
|
|
|
|
|
|
|
|
// NewAMQPTarget - creates new AMQP target.
|
|
|
|
// NewAMQPTarget - creates new AMQP target.
|
|
|
|
func NewAMQPTarget(id string, args AMQPArgs) (*AMQPTarget, error) { |
|
|
|
func NewAMQPTarget(id string, args AMQPArgs) (*AMQPTarget, error) { |
|
|
|
conn, err := amqp.Dial(args.URL.String()) |
|
|
|
var conn *amqp.Connection |
|
|
|
if err != nil { |
|
|
|
var err error |
|
|
|
|
|
|
|
// Retry 5 times with time interval of 2 seconds.
|
|
|
|
|
|
|
|
for i := 1; i <= 5; i++ { |
|
|
|
|
|
|
|
conn, err = amqp.Dial(args.URL.String()) |
|
|
|
|
|
|
|
if err == nil { |
|
|
|
|
|
|
|
break |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if err != nil && i == 5 { |
|
|
|
return nil, err |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
time.Sleep(2 * time.Second) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return &AMQPTarget{ |
|
|
|
return &AMQPTarget{ |
|
|
|
id: event.TargetID{ID: id, Name: "amqp"}, |
|
|
|
id: event.TargetID{ID: id, Name: "amqp"}, |
|
|
|