candiutils

package
v1.12.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2022 License: Apache-2.0 Imports: 17 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Consul

type Consul struct {
	Client            *api.Client
	Key               string
	SessionID         string
	LockRetryInterval time.Duration
	SessionTTL        time.Duration
	MaxJobRebalance   int
}

Consul configured for lock acquisition

func NewConsul

func NewConsul(opt *ConsulConfig) (*Consul, error)

NewConsul constructor

func (*Consul) DestroySession

func (c *Consul) DestroySession() error

DestroySession method

func (*Consul) RecreateSession

func (c *Consul) RecreateSession() error

RecreateSession method

func (*Consul) RetryLockAcquire

func (c *Consul) RetryLockAcquire(value map[string]string, acquired chan<- struct{}, released chan<- struct{})

RetryLockAcquire attempts to acquire the lock at `LockRetryInterval`

type ConsulConfig

type ConsulConfig struct {
	ConsulAgentHost   string
	ConsulKey         string
	LockRetryInterval time.Duration
	SessionTTL        time.Duration
	MaxJobRebalance   int
}

ConsulConfig is used to configure creation of client

type HTTPRequest

type HTTPRequest interface {
	DoRequest(ctx context.Context, method, url string, requestBody []byte, headers map[string]string) (result *HTTPRequestResult, err error)
	Do(context context.Context, method, url string, reqBody []byte, headers map[string]string) (respBody []byte, respCode int, err error)
}

HTTPRequest interface

func NewHTTPRequest

func NewHTTPRequest(opts ...HTTPRequestOption) HTTPRequest

NewHTTPRequest function Request's Constructor

type HTTPRequestOption

type HTTPRequestOption func(*httpRequestImpl)

HTTPRequestOption func type

func HTTPRequestAddHystrixOptions added in v1.10.16

func HTTPRequestAddHystrixOptions(opts ...hystrix.Option) HTTPRequestOption

HTTPRequestAddHystrixOptions option func

func HTTPRequestSetBreakerName

func HTTPRequestSetBreakerName(breakerName string) HTTPRequestOption

HTTPRequestSetBreakerName option func

func HTTPRequestSetClient added in v1.11.14

func HTTPRequestSetClient(cl *http.Client) HTTPRequestOption

HTTPRequestSetClient option func

func HTTPRequestSetHTTPErrorCodeThreshold

func HTTPRequestSetHTTPErrorCodeThreshold(minHTTPStatusCode int) HTTPRequestOption

HTTPRequestSetHTTPErrorCodeThreshold option func, set minimum http response code for return error when exec client request

func HTTPRequestSetRetries

func HTTPRequestSetRetries(retries int) HTTPRequestOption

HTTPRequestSetRetries option func

func HTTPRequestSetSleepBetweenRetry

func HTTPRequestSetSleepBetweenRetry(sleepBetweenRetry time.Duration) HTTPRequestOption

HTTPRequestSetSleepBetweenRetry option func

func HTTPRequestSetTLS

func HTTPRequestSetTLS(tlsConfig *tls.Config) HTTPRequestOption

HTTPRequestSetTLS option func

func HTTPRequestSetTimeout

func HTTPRequestSetTimeout(timeout time.Duration) HTTPRequestOption

HTTPRequestSetTimeout option func

type HTTPRequestResult added in v1.11.6

type HTTPRequestResult struct {
	*bytes.Buffer
	RespCode int
}

HTTPRequestResult struct

type Locker added in v1.8.8

type Locker interface {
	IsLocked(key string) bool
	Unlock(key string)
	Reset(key string)
}

Locker abstraction, lock concurrent processs

func NewRedisLocker added in v1.8.8

func NewRedisLocker(pool *redis.Pool) Locker

NewRedisLocker constructor

type NoopLocker added in v1.8.8

type NoopLocker struct{}

NoopLocker empty locker

func (NoopLocker) IsLocked added in v1.8.8

func (NoopLocker) IsLocked(key string) bool

IsLocked method

func (NoopLocker) Reset added in v1.9.0

func (NoopLocker) Reset(key string)

Reset method

func (NoopLocker) Unlock added in v1.9.0

func (NoopLocker) Unlock(key string)

Unlock method

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL