File tree Expand file tree Collapse file tree 3 files changed +32
-13
lines changed
pkg/rabbitmq/rmq_rpc/client Expand file tree Collapse file tree 3 files changed +32
-13
lines changed Original file line number Diff line number Diff line change @@ -3,21 +3,17 @@ package main
3
3
import (
4
4
"log"
5
5
6
- "github.com/ilyakaznacheev/cleanenv"
7
-
8
6
"github.com/evrone/go-clean-template/config"
9
7
"github.com/evrone/go-clean-template/internal/app"
10
8
)
11
9
12
10
func main() {
13
11
// Configuration
14
- var cfg config.Config
15
-
16
- err := cleanenv.ReadConfig("./config/config.yml", &cfg)
12
+ cfg, err := config.NewConfig()
17
13
if err != nil {
18
14
log.Fatalf("Config error: %s", err)
19
15
}
20
16
21
17
// Run
22
- app.Run(& cfg)
18
+ app.Run(cfg)
23
19
}
Original file line number Diff line number Diff line change 1
1
package config
2
2
3
+ import (
4
+ "fmt"
5
+
6
+ "github.com/ilyakaznacheev/cleanenv"
7
+ )
8
+
3
9
type (
4
10
// Config -.
5
11
Config struct {
@@ -39,3 +45,20 @@ type (
39
45
URL string `env-required:"true" env:"RMQ_URL"`
40
46
}
41
47
)
48
+
49
+ // NewConfig returns app config.
50
+ func NewConfig() (*Config, error) {
51
+ cfg := &Config{}
52
+
53
+ err := cleanenv.ReadConfig("./config/config.yml", cfg)
54
+ if err != nil {
55
+ return nil, fmt.Errorf("config error: %w", err)
56
+ }
57
+
58
+ err = cleanenv.ReadEnv(cfg)
59
+ if err != nil {
60
+ return nil, err
61
+ }
62
+
63
+ return cfg, nil
64
+ }
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ type Client struct {
45
45
error chan error
46
46
stop chan struct{}
47
47
48
- sync.RWMutex
48
+ rw sync.RWMutex
49
49
calls map[string]*pendingCall
50
50
51
51
timeout time.Duration
@@ -198,9 +198,9 @@ func (c *Client) reconnect() {
198
198
}
199
199
200
200
func (c *Client) getCall(d *amqp.Delivery) {
201
- c.RLock()
201
+ c.rw. RLock()
202
202
call, ok := c.calls[d.CorrelationId]
203
- c.RUnlock()
203
+ c.rw. RUnlock()
204
204
205
205
if !ok {
206
206
return
@@ -212,15 +212,15 @@ func (c *Client) getCall(d *amqp.Delivery) {
212
212
}
213
213
214
214
func (c *Client) addCall(corrID string, call *pendingCall) {
215
- c.Lock()
215
+ c.rw. Lock()
216
216
c.calls[corrID] = call
217
- c.Unlock()
217
+ c.rw. Unlock()
218
218
}
219
219
220
220
func (c *Client) deleteCall(corrID string) {
221
- c.Lock()
221
+ c.rw. Lock()
222
222
delete(c.calls, corrID)
223
- c.Unlock()
223
+ c.rw. Unlock()
224
224
}
225
225
226
226
// Notify -.
You can’t perform that action at this time.
0 commit comments