Improve reconnection policy and context handling in Queryx
This commit is contained in:
committed by
Sylwia Szunejko
parent
2f79f86b7c
commit
fd84cf32de
@@ -51,6 +51,10 @@ func CreateCluster() *gocql.ClusterConfig {
|
||||
cluster.Timeout = *flagTimeout
|
||||
cluster.Consistency = gocql.Quorum
|
||||
cluster.MaxWaitSchemaAgreement = 2 * time.Minute // travis might be slow
|
||||
cluster.ReconnectionPolicy = &gocql.ConstantReconnectionPolicy{
|
||||
MaxRetries: 10,
|
||||
Interval: 3 * time.Second,
|
||||
}
|
||||
if *flagRetry > 0 {
|
||||
cluster.RetryPolicy = &gocql.SimpleRetryPolicy{NumRetries: *flagRetry}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,9 @@ func (q *Queryx) RoutingKey(routingKey []byte) *Queryx {
|
||||
// query, queries will be canceled and return once the context is
|
||||
// canceled.
|
||||
func (q *Queryx) WithContext(ctx context.Context) *Queryx {
|
||||
if ctx == nil {
|
||||
ctx = context.Background()
|
||||
}
|
||||
q.Query = q.Query.WithContext(ctx)
|
||||
return q
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user