diff options
author | Valery Piashchynski <[email protected]> | 2021-08-14 20:29:10 +0300 |
---|---|---|
committer | Valery Piashchynski <[email protected]> | 2021-08-14 20:29:10 +0300 |
commit | 5a56dc33b9903e9d96e7c87067bd273ad2e68f8a (patch) | |
tree | aa5e6020d18fd42ee29ac3cf62ad41d4f18795c4 /plugins/redis | |
parent | 6860326fa5d8f37f6e954da07fd53b9261731227 (diff) |
Update broadcast tests, add redis flusing. Initial impl of the job
drivers state.
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'plugins/redis')
-rw-r--r-- | plugins/redis/jobs/config.go | 34 | ||||
-rw-r--r-- | plugins/redis/jobs/consumer.go | 1 | ||||
-rw-r--r-- | plugins/redis/jobs/item.go | 1 | ||||
-rw-r--r-- | plugins/redis/kv/config.go | 34 | ||||
-rw-r--r-- | plugins/redis/kv/kv.go (renamed from plugins/redis/kv.go) | 2 | ||||
-rw-r--r-- | plugins/redis/plugin.go | 6 | ||||
-rw-r--r-- | plugins/redis/pubsub/channel.go (renamed from plugins/redis/channel.go) | 2 | ||||
-rw-r--r-- | plugins/redis/pubsub/config.go | 34 | ||||
-rw-r--r-- | plugins/redis/pubsub/pubsub.go (renamed from plugins/redis/pubsub.go) | 2 |
9 files changed, 111 insertions, 5 deletions
diff --git a/plugins/redis/jobs/config.go b/plugins/redis/jobs/config.go new file mode 100644 index 00000000..89d707af --- /dev/null +++ b/plugins/redis/jobs/config.go @@ -0,0 +1,34 @@ +package jobs + +import "time" + +type Config struct { + Addrs []string `mapstructure:"addrs"` + DB int `mapstructure:"db"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` + MasterName string `mapstructure:"master_name"` + SentinelPassword string `mapstructure:"sentinel_password"` + RouteByLatency bool `mapstructure:"route_by_latency"` + RouteRandomly bool `mapstructure:"route_randomly"` + MaxRetries int `mapstructure:"max_retries"` + DialTimeout time.Duration `mapstructure:"dial_timeout"` + MinRetryBackoff time.Duration `mapstructure:"min_retry_backoff"` + MaxRetryBackoff time.Duration `mapstructure:"max_retry_backoff"` + PoolSize int `mapstructure:"pool_size"` + MinIdleConns int `mapstructure:"min_idle_conns"` + MaxConnAge time.Duration `mapstructure:"max_conn_age"` + ReadTimeout time.Duration `mapstructure:"read_timeout"` + WriteTimeout time.Duration `mapstructure:"write_timeout"` + PoolTimeout time.Duration `mapstructure:"pool_timeout"` + IdleTimeout time.Duration `mapstructure:"idle_timeout"` + IdleCheckFreq time.Duration `mapstructure:"idle_check_freq"` + ReadOnly bool `mapstructure:"read_only"` +} + +// InitDefaults initializing fill config with default values +func (s *Config) InitDefaults() { + if s.Addrs == nil { + s.Addrs = []string{"127.0.0.1:6379"} // default addr is pointing to local storage + } +} diff --git a/plugins/redis/jobs/consumer.go b/plugins/redis/jobs/consumer.go new file mode 100644 index 00000000..415ac457 --- /dev/null +++ b/plugins/redis/jobs/consumer.go @@ -0,0 +1 @@ +package jobs diff --git a/plugins/redis/jobs/item.go b/plugins/redis/jobs/item.go new file mode 100644 index 00000000..415ac457 --- /dev/null +++ b/plugins/redis/jobs/item.go @@ -0,0 +1 @@ +package jobs diff --git a/plugins/redis/kv/config.go b/plugins/redis/kv/config.go new file mode 100644 index 00000000..5b760952 --- /dev/null +++ b/plugins/redis/kv/config.go @@ -0,0 +1,34 @@ +package kv + +import "time" + +type Config struct { + Addrs []string `mapstructure:"addrs"` + DB int `mapstructure:"db"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` + MasterName string `mapstructure:"master_name"` + SentinelPassword string `mapstructure:"sentinel_password"` + RouteByLatency bool `mapstructure:"route_by_latency"` + RouteRandomly bool `mapstructure:"route_randomly"` + MaxRetries int `mapstructure:"max_retries"` + DialTimeout time.Duration `mapstructure:"dial_timeout"` + MinRetryBackoff time.Duration `mapstructure:"min_retry_backoff"` + MaxRetryBackoff time.Duration `mapstructure:"max_retry_backoff"` + PoolSize int `mapstructure:"pool_size"` + MinIdleConns int `mapstructure:"min_idle_conns"` + MaxConnAge time.Duration `mapstructure:"max_conn_age"` + ReadTimeout time.Duration `mapstructure:"read_timeout"` + WriteTimeout time.Duration `mapstructure:"write_timeout"` + PoolTimeout time.Duration `mapstructure:"pool_timeout"` + IdleTimeout time.Duration `mapstructure:"idle_timeout"` + IdleCheckFreq time.Duration `mapstructure:"idle_check_freq"` + ReadOnly bool `mapstructure:"read_only"` +} + +// InitDefaults initializing fill config with default values +func (s *Config) InitDefaults() { + if s.Addrs == nil { + s.Addrs = []string{"127.0.0.1:6379"} // default addr is pointing to local storage + } +} diff --git a/plugins/redis/kv.go b/plugins/redis/kv/kv.go index 29f89d46..b41cb86c 100644 --- a/plugins/redis/kv.go +++ b/plugins/redis/kv/kv.go @@ -1,4 +1,4 @@ -package redis +package kv import ( "context" diff --git a/plugins/redis/plugin.go b/plugins/redis/plugin.go index 3c62a63f..961182a9 100644 --- a/plugins/redis/plugin.go +++ b/plugins/redis/plugin.go @@ -9,6 +9,8 @@ import ( "github.com/spiral/roadrunner/v2/common/pubsub" "github.com/spiral/roadrunner/v2/plugins/config" "github.com/spiral/roadrunner/v2/plugins/logger" + redis_kv "github.com/spiral/roadrunner/v2/plugins/redis/kv" + redis_pubsub "github.com/spiral/roadrunner/v2/plugins/redis/pubsub" ) const PluginName = "redis" @@ -62,7 +64,7 @@ func (p *Plugin) Available() {} // KVConstruct provides KV storage implementation over the redis plugin func (p *Plugin) KVConstruct(key string) (kv.Storage, error) { const op = errors.Op("redis_plugin_provide") - st, err := NewRedisDriver(p.log, key, p.cfgPlugin) + st, err := redis_kv.NewRedisDriver(p.log, key, p.cfgPlugin) if err != nil { return nil, errors.E(op, err) } @@ -71,5 +73,5 @@ func (p *Plugin) KVConstruct(key string) (kv.Storage, error) { } func (p *Plugin) PSConstruct(key string) (pubsub.PubSub, error) { - return NewPubSubDriver(p.log, key, p.cfgPlugin, p.stopCh) + return redis_pubsub.NewPubSubDriver(p.log, key, p.cfgPlugin, p.stopCh) } diff --git a/plugins/redis/channel.go b/plugins/redis/pubsub/channel.go index 0cd62d19..eef5a7b9 100644 --- a/plugins/redis/channel.go +++ b/plugins/redis/pubsub/channel.go @@ -1,4 +1,4 @@ -package redis +package pubsub import ( "context" diff --git a/plugins/redis/pubsub/config.go b/plugins/redis/pubsub/config.go new file mode 100644 index 00000000..bf8d2fc9 --- /dev/null +++ b/plugins/redis/pubsub/config.go @@ -0,0 +1,34 @@ +package pubsub + +import "time" + +type Config struct { + Addrs []string `mapstructure:"addrs"` + DB int `mapstructure:"db"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` + MasterName string `mapstructure:"master_name"` + SentinelPassword string `mapstructure:"sentinel_password"` + RouteByLatency bool `mapstructure:"route_by_latency"` + RouteRandomly bool `mapstructure:"route_randomly"` + MaxRetries int `mapstructure:"max_retries"` + DialTimeout time.Duration `mapstructure:"dial_timeout"` + MinRetryBackoff time.Duration `mapstructure:"min_retry_backoff"` + MaxRetryBackoff time.Duration `mapstructure:"max_retry_backoff"` + PoolSize int `mapstructure:"pool_size"` + MinIdleConns int `mapstructure:"min_idle_conns"` + MaxConnAge time.Duration `mapstructure:"max_conn_age"` + ReadTimeout time.Duration `mapstructure:"read_timeout"` + WriteTimeout time.Duration `mapstructure:"write_timeout"` + PoolTimeout time.Duration `mapstructure:"pool_timeout"` + IdleTimeout time.Duration `mapstructure:"idle_timeout"` + IdleCheckFreq time.Duration `mapstructure:"idle_check_freq"` + ReadOnly bool `mapstructure:"read_only"` +} + +// InitDefaults initializing fill config with default values +func (s *Config) InitDefaults() { + if s.Addrs == nil { + s.Addrs = []string{"127.0.0.1:6379"} // default addr is pointing to local storage + } +} diff --git a/plugins/redis/pubsub.go b/plugins/redis/pubsub/pubsub.go index 01efc623..95a9f6dd 100644 --- a/plugins/redis/pubsub.go +++ b/plugins/redis/pubsub/pubsub.go @@ -1,4 +1,4 @@ -package redis +package pubsub import ( "context" |