add automatic sleep until quota reset

re-enable ipv6
This commit is contained in:
Niko Storni 2020-06-10 03:32:45 +02:00
parent 4d915587e0
commit 1d5b69bfe6
3 changed files with 17 additions and 3 deletions

View file

@ -45,7 +45,7 @@ func GetIPPool(stopGrp *stop.Group) (*IPPool, error) {
var pool []throttledIP var pool []throttledIP
for _, address := range addrs { for _, address := range addrs {
if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() { if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() {
if ipnet.IP.To16() != nil && govalidator.IsIPv6(ipnet.IP.String()) && false { if ipnet.IP.To16() != nil && govalidator.IsIPv6(ipnet.IP.String()) {
pool = append(pool, throttledIP{ pool = append(pool, throttledIP{
IP: ipnet.IP.String(), IP: ipnet.IP.String(),
LastUse: time.Now().Add(-5 * time.Minute), LastUse: time.Now().Add(-5 * time.Minute),

View file

@ -215,6 +215,9 @@ func (s *SyncManager) Start() error {
} }
if err != nil { if err != nil {
if strings.Contains(err.Error(), "quotaExceeded") {
logUtils.SleepUntilQuotaReset()
}
fatalErrors := []string{ fatalErrors := []string{
"default_wallet already exists", "default_wallet already exists",
"WALLET HAS NOT BEEN MOVED TO THE WALLET BACKUP DIR", "WALLET HAS NOT BEEN MOVED TO THE WALLET BACKUP DIR",
@ -224,8 +227,6 @@ func (s *SyncManager) Start() error {
"the channel in the wallet is different than the channel in the database", "the channel in the wallet is different than the channel in the database",
"this channel does not belong to this wallet!", "this channel does not belong to this wallet!",
"You already have a stream claim published under the name", "You already have a stream claim published under the name",
"Daily Limit Exceeded",
"quotaExceeded",
} }
if util.SubstringInSlice(err.Error(), fatalErrors) { if util.SubstringInSlice(err.Error(), fatalErrors) {

View file

@ -271,6 +271,19 @@ func CleanupLbrynet() error {
return nil return nil
} }
func SleepUntilQuotaReset() {
PST, _ := time.LoadLocation("America/Los_Angeles")
t := time.Now().In(PST)
n := time.Date(t.Year(), t.Month(), t.Day(), 24, 2, 0, 0, PST)
d := n.Sub(t)
if d < 0 {
n = n.Add(24 * time.Hour)
d = n.Sub(t)
}
log.Infof("gotta sleep %s until the quota resets", d.String())
time.Sleep(d)
}
func StartDaemon() error { func StartDaemon() error {
start := time.Now() start := time.Now()
defer func(start time.Time) { defer func(start time.Time) {