• <dd id="3gzlp"></dd>

    <li id="3gzlp"><acronym id="3gzlp"></acronym></li>

    <span id="3gzlp"></span>

    任務管理系統 GTask

    Apache
    Google Go
    跨平臺
    2020-03-27
    GuaiK

    GTask 支持遠程管理任務,執行任務腳本(目前僅支持 lua),開發者可以創建任務實例并為實例添加處理器,在處理器中配置執行腳本就可以輕松地管理任務。

    編譯與使用

    Linux

    ./build/linux.sh

    MaxOS

    ./build/macos.sh

    編譯成功后在release目錄下會生成兩個文件,gtaskclient,分別是服務端程序和客戶端程序。

    服務端運行

    config/config.json中保存著服務端監聽的端口號和登陸的密鑰,在客戶端連接服務器的時候將會用到該密鑰。啟動服務端時需要指定配置參數。

    ./release/gtask -cfg ./config/config.json

    客戶端連接服務器

    ./release/client -h [host] -p 1126

    這時會要求輸入密鑰,該密鑰是初始化服務器時候的密鑰。

    客戶端指令說明介紹

    指令 參數 參數介紹 示例
    create job key 任務key create job test
    use key 該key必須已經被創建 use test
    create processor [filePath trigger bReset bLoop bExit] (必須先use job) [腳本文件 觸發時間(秒) 能否被重置 是否循環 是否退出] create processor ./example/lua/test_json.lua 3 0 1 0
    run   (必須先use job)啟動任務 run
    delete   (必須先use job)停止并刪除任務 delete

    客戶端演示

    test.gif

    客戶端測試

    使用默認配置文件并將服務端運行在本機(localhost)

    ./release/client -h localhost -p 1126
    secretKey:647851f2fcf6101aefa4a2c59a329a11c60300a4
    
    # 創建任務
    > create job test
    create job [test] success
    
    # 選擇任務
    > use test
    select job [test]
    
    # 為任務創建執行器,解析json并打印相關數據,3秒執行一次,循環執行
    test > create processor ./example/lua/test_json.lua 3 0 1 0
    create processor success
    
    # 運行任務
    test > run
    run job [test] success
    
    # 為任務補充一條執行器,用來發送GET請求獲取網站數據,5秒執行一次,循環執行
    test > create processor ./example/lua/test_http_get.lua 5 0 1 0
    create processor success
    
    # 停止并刪除當前任務
    test > delete
    >

    LUA執行代碼介紹

    // 函數名必須是processor
    // key(string): 任務key
    // count(number): 時間計數
    function processor(key,count)
        data = {}
        data["hello"]="world"
        data["a"] = {}
        data["a"]["b"] = "b"
        data["a"]["c"] = {1,2,3,4,5,6}
        res = jsonMarshal(data)
        res = jsonUnMarshal(res)
        for k,v in ipairs(res["a"]["c"]) do
            print(k,v)
        end
        return true // 如果返回false,當前執行器將會退出
    end

    LUA支持函數

    加密

    函數 參數 返回值 描述
    md5 string string 獲取字符串的MD5值
    base64 string string 獲取字符串的base64編碼
    base64UrlSafe string string 獲取字符串url安全的base64編碼
    base64 string string 獲取字符串的base64編碼
    hmac [key:string, str:string] string 獲取hmac值
    sha1 string string 獲取字符串的SHA1值

    時間

    函數 參數 返回值 描述
    now   number 獲取當前時間戳(毫秒)

    Json

    函數 參數 返回值 描述
    jsonMarshal table string 將table轉換成json字符串
    jsonUnMarshal string table 將json字符串轉轉換成table

    Http

    函數 參數 返回值 描述
    httpGet [url:string header:table] [res:string ok:bool] 發送GET請求
    httpPost [url:string header:table body:string] [res:string ok:bool] 發送POST請求
    的碼云指數為
    超過 的項目
    加載中
    請先登錄后再評論。

    暫無資訊

    暫無問答

    暫無博客

    返回頂部
    頂部
    聚看影院