Create limiters
This commit is contained in:
@@ -12,6 +12,9 @@ import "github.com/firestuff/automana/headers"
|
||||
|
||||
type Client struct {
|
||||
client *http.Client
|
||||
rateLimit *RateLimit
|
||||
concurrencyLimitRead *ConcurrencyLimit
|
||||
concurrencyLimitWrite *ConcurrencyLimit
|
||||
}
|
||||
|
||||
type errorDetails struct {
|
||||
@@ -35,6 +38,9 @@ type nextPage struct {
|
||||
func NewClient(token string) *Client {
|
||||
c := &Client{
|
||||
client: &http.Client{},
|
||||
rateLimit: NewRateLimitPerMinute(1500, 1500),
|
||||
concurrencyLimitRead: NewConcurrencyLimit(50),
|
||||
concurrencyLimitWrite: NewConcurrencyLimit(15),
|
||||
}
|
||||
|
||||
hdrs := headers.NewHeaders(c.client)
|
||||
|
||||
@@ -22,6 +22,7 @@ func (c *Client) InWorkspace(name string) (*WorkspaceClient, error) {
|
||||
return &WorkspaceClient{
|
||||
client: c,
|
||||
workspace: wrk,
|
||||
rateLimitSearch: NewRateLimitPerMinute(60, 60),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@ package client
|
||||
type WorkspaceClient struct {
|
||||
client *Client
|
||||
workspace *Workspace
|
||||
rateLimitSearch *RateLimit
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user