<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          grapeTimer時(shí)間調(diào)度器

          聯(lián)合創(chuàng)作 · 2023-09-29 15:00

          grapeTimer 時(shí)間調(diào)度器

          一款粗粒度的時(shí)間調(diào)度器,可以幫你通過(guò)一些字符串快速并簡(jiǎn)單的創(chuàng)建時(shí)間任務(wù)。

          用于游戲服務(wù)端的優(yōu)化設(shè)計(jì),大量并行的時(shí)間調(diào)度方式。

          簡(jiǎn)單介紹:

          • 通過(guò)命令格式創(chuàng)建time.Time

          • 簡(jiǎn)潔的Api格式,輕度且可拆分的函數(shù)庫(kù)

          • 快速創(chuàng)建調(diào)度器

          • 可控的調(diào)度器時(shí)間粒度

          • 高性能的并發(fā)調(diào)度

          • 時(shí)間周期,次數(shù)多模式可控[支持每天,每周,每月]

          • *可選擇對(duì)調(diào)度器保存或內(nèi)存執(zhí)行[待實(shí)現(xiàn)]

          • *生成可保存的調(diào)度器字符串并反向分析他生成調(diào)度器[待實(shí)現(xiàn)]

          • 不依賴第三方庫(kù)

          安裝方法

          go get -u -v github.com/koangel/grapeTimer

          基本用法

          // 初始化一個(gè)1秒鐘粒度的調(diào)度器,ars代表是否自動(dòng)設(shè)置運(yùn)行為并行模式
          grapeTimer.InitGrapeScheduler(1*time.Second, true)
          // 啟動(dòng)一個(gè)單次執(zhí)行的調(diào)度器,1秒時(shí)間,基本tick單位為毫秒
          Id := grapeTimer.NewTickerOnce(1000, exec100, nil)
          // 啟動(dòng)一個(gè)1秒為周期的 循環(huán)timer
          Id = grapeTimer.NewTickerLoop(1000, exec100Loop, nil)
          // 啟動(dòng)一個(gè)每日規(guī)則的定時(shí)器,參數(shù)為args data
          Id = grapeTimer.NewTimeDataOnce("Day 13:59:59", exeDayTime, "args data")
          // 啟動(dòng)一個(gè)每日循環(huán)規(guī)則的定時(shí)器,參數(shù)為args data
          Id = grapeTimer.NewTimeDataLoop("Day 13:59:59", exeDayTime, "args data")

          所有執(zhí)行函數(shù)請(qǐng)保持以下函數(shù)格式:

          func exec100(args interface{}) {
          	fmt.Printf("exec100")
          }
          
          func exec100Loop(args interface{}) {
          	fmt.Printf("exec100Loop")
          }
          
          func exeDayTime(args interface{}) {
          
          }

          停止計(jì)時(shí)器

          // 將自動(dòng)返回的ID作為參數(shù)傳入可停止持續(xù)循環(huán)的TIMER
          grapeTimer.StopTimer(Id)

          參數(shù)設(shè)置

          // 設(shè)置啟用日志調(diào)試模式,建議正式版本關(guān)閉他
          grapeTimer.CDebugMode = true
          // 調(diào)用分析器使用的時(shí)區(qū),可以個(gè)根據(jù)不同國(guó)家地區(qū)設(shè)置 
          grapeTimer.LocationFormat = "Asia/Shanghai"
          // 開啟異步調(diào)度模式,在此模式下 timer執(zhí)行時(shí)會(huì)建立一個(gè)go,不會(huì)阻塞其他timer執(zhí)行調(diào)度,建議開啟
          grapeTimer.UseAsyncExec = true

          保存調(diào)度器

          待添加

          生成調(diào)度器字符串

          待添加

          可用格式說(shuō)明

          調(diào)度器有輕度的日期模式分析體系,可提供每日,每周,每月的時(shí)間日期生成方式,具體格式如下:

          關(guān)鍵字 格式 說(shuō)明
          Day Day 00:00:00 生成每日的日期時(shí)間
          Week Week 1 00:00:00 生成每周的日期時(shí)間, 0~6 分別代表周日到周六
          Month Month 1 00:00:00 生成每月該日期的時(shí)間,建議不要使用20日之后的日期

          以上日期如果超過(guò)時(shí)間自動(dòng)生成下一個(gè)時(shí)間,每月時(shí)間使用時(shí),如本月不存在該日期,則直接返回錯(cuò)誤。

          代碼示例:

          	vtime, err := grapeTimer.Parser("Day 13:59:59") // 返回值為標(biāo)準(zhǔn)的*time.Time
          	if err != nil {
          		// 處理錯(cuò)誤...
          	}
          
                  vtime, err = grapeTimer.Parser("Week 6 23:59:59")
          	if err != nil {
          		// 處理錯(cuò)誤...
          	}
          
          	vtime, err = grapeTimer.Parser("Month 26 13:59:59")
          	if err != nil {
          		// 處理錯(cuò)誤...
          	}

          代碼輸出:

          2017-05-24 13:59:59 +0800 CST
          瀏覽 22
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  特黄色视频 | 草榴视频国产 | 天堂av高清在线观看 | 黄色电影网站在线观看 | A V视频在线观看 |