亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Golang AGScheduler動(dòng)態(tài)持久化任務(wù)調(diào)度的強(qiáng)大庫(kù)使用實(shí)例

 更新時(shí)間:2023年10月16日 11:09:35   作者:kwkwc  
這篇文章主要為大家介紹了Golang AGScheduler動(dòng)態(tài)持久化任務(wù)調(diào)度的強(qiáng)大庫(kù)使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

以前一直使用 Python 的任務(wù)調(diào)度庫(kù) APScheduler(支持任務(wù)持久化,支持多種存儲(chǔ)方式),但由于沒(méi)有找到與它功能和使用方式類(lèi)似的 Golang 庫(kù),所以模仿 APScheduler 3.x 寫(xiě)了個(gè)簡(jiǎn)易版本的 AGScheduler。

AGScheduler

Advanced Golang Scheduler (AGScheduler) 是一款適用于 Golang 的任務(wù)調(diào)度程序,支持多種調(diào)度方式,動(dòng)態(tài)更改和持久化任務(wù)

警示

該庫(kù)處于實(shí)驗(yàn)階段,不建議用于生產(chǎn)環(huán)境

鏈接 https://github.com/kwkwc/agscheduler

特性

  • 支持三種調(diào)度方式

    • [x] 一次性執(zhí)行
    • [x] 間隔執(zhí)行
    • [x] Cron 式調(diào)度
  • 支持多種任務(wù)存儲(chǔ)方式

    • [x] Memory
    • [x] GROM(任何 GROM 支持的 RDBMS 都能運(yùn)行)
    • [x] Redis
    • [x] MongoDB

使用

package main
import (
    "fmt"
    "log/slog"
    "time"
    "github.com/kwkwc/agscheduler"
    "github.com/kwkwc/agscheduler/stores"
)
func printMsg(j agscheduler.Job) {
    slog.Info(fmt.Sprintf("Run %s %s\n", j.Name, j.Args))
}
func main() {
    agscheduler.RegisterFuncs(printMsg)
    store := &stores.MemoryStore{}
    scheduler := &agscheduler.Scheduler{}
    scheduler.SetStore(store)
    job := agscheduler.Job{
        Name:     "Job",
        Type:     agscheduler.TYPE_INTERVAL,
        Timezone: "UTC",
        Func:     printMsg,
        Args:     []any{"arg1", "arg2", "arg3"},
        Interval: 2 * time.Second,
    }
    jobId := scheduler.AddJob(job)
    job, _ = scheduler.GetJob(jobId)
    slog.Info(fmt.Sprintf("Scheduler add %s %s.\n\n", job.Name, job))
    scheduler.Start()
    slog.Info("Scheduler Start.\n\n")
    select {}
}

注冊(cè)函數(shù)

由于 golang 無(wú)法序列化函數(shù),所以 scheduler.Start() 之前需要使用 RegisterFuncs 注冊(cè)函數(shù)

完整示例

致謝

APScheduler

以上就是Golang AGScheduler動(dòng)態(tài)持久化任務(wù)調(diào)度的強(qiáng)大庫(kù)使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Go AGScheduler任務(wù)調(diào)度的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • go語(yǔ)言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié)

    go語(yǔ)言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié)

    本文主要介紹了go語(yǔ)言中的數(shù)組指針和指針數(shù)組的區(qū)別小結(jié),文中通過(guò)示例代碼介紹的很詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-10-10
  • go語(yǔ)言睡眠排序算法實(shí)例分析

    go語(yǔ)言睡眠排序算法實(shí)例分析

    這篇文章主要介紹了go語(yǔ)言睡眠排序算法,實(shí)例分析了睡眠排序算法的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-03-03
  • 十個(gè)Go map面試??紗?wèn)題合集

    十個(gè)Go map面試常考問(wèn)題合集

    go面試中,map相關(guān)知識(shí)點(diǎn)問(wèn)的比較多,這篇文章主要為大家整理歸納了10個(gè)??嫉膯?wèn)題,文中的示例代碼講解詳細(xì),希望對(duì)大家有一定的幫助
    2023-07-07
  • 詳解簡(jiǎn)單高效的Go?struct優(yōu)化

    詳解簡(jiǎn)單高效的Go?struct優(yōu)化

    這篇文章主要為大家介紹了簡(jiǎn)單高效的Go?struct優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • golang實(shí)現(xiàn)單點(diǎn)登錄系統(tǒng)(go-sso)

    golang實(shí)現(xiàn)單點(diǎn)登錄系統(tǒng)(go-sso)

    這篇文章主要介紹了golang實(shí)現(xiàn)單點(diǎn)登錄系統(tǒng)(go-sso),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • golang通過(guò)mysql語(yǔ)句實(shí)現(xiàn)分頁(yè)查詢(xún)

    golang通過(guò)mysql語(yǔ)句實(shí)現(xiàn)分頁(yè)查詢(xún)

    這篇文章主要介紹了golang通過(guò)mysql語(yǔ)句實(shí)現(xiàn)分頁(yè)查詢(xún),文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Go語(yǔ)言通過(guò)WaitGroup實(shí)現(xiàn)控制并發(fā)的示例詳解

    Go語(yǔ)言通過(guò)WaitGroup實(shí)現(xiàn)控制并發(fā)的示例詳解

    Channel能夠很好的幫助我們控制并發(fā),但是在開(kāi)發(fā)習(xí)慣上與顯示的表達(dá)不太相同,所以在Go語(yǔ)言中可以利用sync包中的WaitGroup實(shí)現(xiàn)并發(fā)控制,本文就來(lái)和大家詳細(xì)聊聊WaitGroup如何實(shí)現(xiàn)控制并發(fā)
    2023-01-01
  • 深入了解Golang官方container/heap用法

    深入了解Golang官方container/heap用法

    在?Golang?的標(biāo)準(zhǔn)庫(kù)?container?中,包含了幾種常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),其實(shí)是非常好的學(xué)習(xí)材料。今天我們就來(lái)看看?container/heap?的源碼,了解一下官方的同學(xué)是怎么設(shè)計(jì),我們作為開(kāi)發(fā)者又該如何使用
    2022-10-10
  • Golang中字符串(string)與字節(jié)數(shù)組([]byte)一行代碼互轉(zhuǎn)實(shí)例

    Golang中字符串(string)與字節(jié)數(shù)組([]byte)一行代碼互轉(zhuǎn)實(shí)例

    golang語(yǔ)言本身就是c的工具集,開(kāi)發(fā)c的程序用到的大部分結(jié)構(gòu)體,內(nèi)存管理,攜程等,golang基本都有,下面這篇文章主要給大家介紹了關(guān)于Golang中字符串(string)與字節(jié)數(shù)組([]byte)一行代碼互轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • golang中的空接口使用詳解

    golang中的空接口使用詳解

    這篇文章主要介紹了golang中的空接口使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論