1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        推薦 Go 語(yǔ)言中的兩個(gè)定時(shí)任務(wù)庫(kù)

        共 1211字,需瀏覽 3分鐘

         ·

        2021-11-27 04:14

        今天給大家介紹兩個(gè) Go 語(yǔ)言可以用來(lái)做定時(shí)任務(wù)的庫(kù),直接上 demo 就好啦。

        ?1.?robfig/cron

        執(zhí)行如下命令進(jìn)行安裝:

        go?get?-u?github.com/robfig/cron

        每分鐘執(zhí)行一次:

        package?main

        import?(
        ????"log"

        ????"github.com/robfig/cron"
        )

        func?main()?{
        ????i?:=?0
        ????c?:=?cron.New()
        ????spec?:=?"0?*/1?*?*?*?*"
        ????c.AddFunc(spec,?func()?{
        ????????i++
        ????????log.Println("execute?per?second",?i)
        ????})
        ????c.Start()
        ????select?{}
        }

        其中注意select的用法:
        golang 的 select 的功能和 select, poll, epoll 相似, 就是監(jiān)聽(tīng) IO 操作,當(dāng) IO 操作發(fā)生時(shí),觸發(fā)相應(yīng)的動(dòng)作。

        每天上午9點(diǎn)到12點(diǎn)的第2和第10分鐘執(zhí)行:

        package?main

        import?(
        ????"fmt"

        ????"github.com/robfig/cron"
        )

        func?main()?{
        ????spec?:=?"2,10?9-12?*?*?*"?//?每天上午9點(diǎn)到12點(diǎn)的第2和第10分鐘執(zhí)行
        ????c?:=?cron.New()
        ????c.AddFunc(spec,?myFunc)
        ????c.Start()
        ????select?{}
        }

        func?myFunc()?{
        ????fmt.Println("execute")
        }

        2.??jasonlvhit/gocron

        執(zhí)行如下命令進(jìn)行安裝:

        go?get?-u?github.com/jasonlvhit/gocron

        每隔1秒執(zhí)行一個(gè)任務(wù),每隔4秒執(zhí)行另一個(gè)任務(wù):

        package?main

        import?(
        ????"fmt"
        ????"time"

        ????"github.com/jasonlvhit/gocron"
        )

        func?task()?{
        ????fmt.Println("I?am?runnning?task.",?time.Now())
        }
        func?superWang()?{
        ????fmt.Println("I?am?runnning?superWang.",?time.Now())
        }

        func?main()?{
        ????s?:=?gocron.NewScheduler()
        ????s.Every(1).Seconds().Do(task)
        ????s.Every(4).Seconds().Do(superWang)

        ????sc?:=?s.Start()?//?keep?the?channel
        ????go?test(s,?sc)??//?wait
        ????<-sc????????????//?it?will?happens?if?the?channel?is?closed
        }

        func?test(s?*gocron.Scheduler,?sc?chan?bool)?{
        ????time.Sleep(8?*?time.Second)
        ????s.Remove(task)?//remove?task
        ????time.Sleep(8?*?time.Second)
        ????s.Clear()
        ????fmt.Println("All?task?removed")
        ????close(sc)?//?close?the?channel
        }



        ? ?

        a2d47f76e651399882b07adbdfa1ffaf.webp
        喜歡明哥文章的同學(xué)歡迎長(zhǎng)按下圖訂閱!

        ???

        瀏覽 99
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            午夜精品久久一牛影视 | 亚洲图片电影小说 | 女人扒开腿让男人爽桶 | 亚洲欧美日韩精品 | chinesewoman熟乱 | 激情性爱在线 | 丁香花激情 | 久久久久免费国产 | 影音先锋中文字幕一区 | 少妇与邻居做爰电影 |