第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么golang CronJob不能在goroutine內(nèi)運行?

為什么golang CronJob不能在goroutine內(nèi)運行?

Go
慕尼黑5688855 2022-09-05 17:05:38
我每天使用CronJob來啟動我的任務(wù),我的任務(wù)有幾個子任務(wù),我計劃使用goroutine來運行。但是,事情并不順利。文件框架|-gpool|  -pool.go|-main.gomain.goimport (        "code.byted.org/i18n_web/content_import_tool_cronJob/gpool"        "fmt"        "github.com/robfig/cron/v3"        "log"        "os"        "runtime"        "time"    )        func SeedJob(it string, pool *gpool.Pool){        fmt.Println("Name item: ", it)        println(runtime.NumGoroutine())        pool.Done()    }        type delayJob struct {        PagePatternNameList []string    }        func (j *delayJob) GetPagePatternNameList() {        //j.PagePatternNameList = dal.GetPagePatternName()        j.PagePatternNameList = []string{"atama_posts","cchan_posts", "cookdoor_posts", "cookpad_posts",            "cookpad_recipe_seed", "kurashiru_posts", "lips_all_posts", "lips_product", "lips_product_sku_seed",            "lips_rank", "press_posts", "voce_all_posts", "zozo_posts_women"}    }        func (j *delayJob)Run(){        log.Println("delay Job RUN")        //time.Sleep(2 * time.Second)        // startSeedJob        pool := gpool.New(10)        println(runtime.NumGoroutine())        for _, it := range j.PagePatternNameList {            pool.Add(1)            go SeedJob(it, pool)        }        pool.Wait()        println(runtime.NumGoroutine())    }        func main() {        c := cron.New(            cron.WithLogger(                cron.VerbosePrintfLogger(log.New(os.Stdout, "cron: ", log.LstdFlags))))            _, err := c.AddJob("CRON_TZ=America/New_York @every 2m", cron.NewChain(cron.DelayIfStillRunning(cron.DefaultLogger)).Then(&delayJob{}))        if err != nil {            fmt.Println("Cron Job err!")            return        }        fmt.Println("it started")        c.Start()            defer c.Stop()            time.Sleep(time.Second * 5)        }
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經(jīng)驗 獲得超4個贊

它沒有運行,因為您計劃作業(yè)每 2 分鐘運行一次,然后只等待 5 秒,然后您從中返回,從而導(dǎo)致程序退出。main()

如果要在后臺啟動此 cron,則必須使程序運行足夠長的時間,以便它運行并完成,在本例中至少超過 2 分鐘。

如果您沒有其他事情要做,那么您可以考慮使用而不是 。main()c.Run()c.Start()


查看完整回答
反對 回復(fù) 2022-09-05
  • 1 回答
  • 0 關(guān)注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號