Documentation
¶
Index ¶
- Variables
- type ConfigPool
- type Finder
- func NewFinder(scraper *twitterscraper.Scraper, delayManager delayManager, logger log.Logger) Finder
- func NewMetricMiddleware(login string, next Finder) Finder
- func NewPool(finders []Finder, logger log.Logger) Finder
- func NewPoolFabric(ctx context.Context, config ConfigPool, pkgKey string, repo fdb.DB, ...) (Finder, error)
- type Manager
- type WindowLimiter
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNoTops = errors.New("no top tweets") ErrNotFound = errors.New("not found") )
Functions ¶
This section is empty.
Types ¶
type ConfigPool ¶
type ConfigPool struct { XCreds map[string]string `envconfig:"X_CREDS" required:"true"` XConfirmation []string `envconfig:"X_CONFIRMATION"` CookiesFilename string `envconfig:"COOKIES_FILENAME" default:"cookies.json"` Proxies []string `envconfig:"PROXIES"` }
func GetConfigPool ¶
func GetConfigPool() ConfigPool
type Finder ¶
type Finder interface { FindAll(ctx context.Context, start, end *time.Time, search string) ([]common.TweetSnapshot, error) Find(ctx context.Context, id string) (*common.TweetSnapshot, error) CurrentDelay() int64 }
func NewFinder ¶
func NewFinder(scraper *twitterscraper.Scraper, delayManager delayManager, logger log.Logger) Finder
func NewMetricMiddleware ¶
type Manager ¶
type Manager interface { TooManyRequests(ctx context.Context) AfterRequest() ProcessedQuery() SetSetterFn(func(seconds int64)) CurrentDelay() int64 Start(ctx context.Context) error }
func NewDelayManager ¶
func NewDelayManagerV2 ¶
type WindowLimiter ¶
type WindowLimiter interface { Inc() TrySetThreshold(ctx context.Context, startTime time.Time) error Duration() time.Duration TooFast(ctx context.Context) (uint64, error) SetResetLimiter(resetLimiter windowlimiter.ResetLimiter) Threshold(ctx context.Context) uint64 Start(ctx context.Context, delay int64) error }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.