From 80694491ace9dd75987c742505c19aa494beafd8 Mon Sep 17 00:00:00 2001 From: bianjiajie Date: Wed, 25 Jan 2023 13:21:02 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BF=AE=E5=A4=8D=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/spider/main.go | 12 ++++++++++++ internal/app/spider/picture.go | 1 + internal/app/spider/update_dynamic.go | 5 +++-- internal/launcher/app.go | 5 +++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/cmd/spider/main.go b/cmd/spider/main.go index 0100d9f..f4af4db 100644 --- a/cmd/spider/main.go +++ b/cmd/spider/main.go @@ -75,6 +75,18 @@ func lc( }, }) + lifecycle.Append(fx.Hook{ + OnStart: func(ctx context.Context) error { + return spiderUpdatePicture.Run(ctx) + }, + OnStop: func(ctx context.Context) error { + if err := spiderUpdatePicture.Stop(ctx); err != nil { + return err + } + return shutdown.Shutdown() + }, + }) + lifecycle.Append(fx.Hook{ OnStart: func(ctx context.Context) error { go func() { diff --git a/internal/app/spider/picture.go b/internal/app/spider/picture.go index 9967aba..5c98d0b 100644 --- a/internal/app/spider/picture.go +++ b/internal/app/spider/picture.go @@ -102,6 +102,7 @@ func (p *Picture) spider() error { var offset uint64 = 0 exist := false //判断有没有已经爬过 for hasMore == 1 && !exist { + time.Sleep(400 * time.Millisecond) data, err := p.sdk.TopicDynamics(topicName, offset) if err != nil { p.logger.Error("TopicDynamics error", zap.String("topic_name", topicName), zap.String("offset", fmt.Sprintf("%d", offset)), zap.Error(err)) diff --git a/internal/app/spider/update_dynamic.go b/internal/app/spider/update_dynamic.go index d01369b..b7f7340 100644 --- a/internal/app/spider/update_dynamic.go +++ b/internal/app/spider/update_dynamic.go @@ -20,8 +20,8 @@ type UpdateDynamic struct { sdk *bilibili.SDK } -func NewUpdateDynamic(db *gorm.DB, logger *zap.Logger, sdk *bilibili.SDK) *Update { - return &Update{ +func NewUpdateDynamic(db *gorm.DB, logger *zap.Logger, sdk *bilibili.SDK) *UpdateDynamic { + return &UpdateDynamic{ stopChan: make(chan bool), db: db, logger: logger, @@ -80,6 +80,7 @@ func (u *UpdateDynamic) spider() error { return nil } for _, v := range list { + time.Sleep(200 * time.Millisecond) dynamic, err := u.sdk.Dynamic(v.DynamicID) if err != nil { u.logger.Error("Dynamic error", zap.Int("dynamic_id", int(v.DynamicID)), zap.Error(err)) diff --git a/internal/launcher/app.go b/internal/launcher/app.go index f529b5a..dab84c6 100644 --- a/internal/launcher/app.go +++ b/internal/launcher/app.go @@ -1,11 +1,12 @@ package launcher import ( - "git.vtb.link/eoefans/internal/pkg/config" - "git.vtb.link/eoefans/internal/pkg/log" "math/rand" "time" + "git.vtb.link/eoefans/internal/pkg/config" + "git.vtb.link/eoefans/internal/pkg/log" + "go.uber.org/fx" "go.uber.org/fx/fxevent" "go.uber.org/zap"