| @ -1 +1,59 @@ | |||||
| package taskrpc | package taskrpc | ||||
| import ( | |||||
| "encoding/json" | |||||
| "errors" | |||||
| "log" | |||||
| ) | |||||
| func DoTask(dbname, siteid, userId, task_type string, url ...string) (bool, error) { | |||||
| if dbname == "" || userId == "" || task_type == ""{ | |||||
| return false, errors.New("参数错误") | |||||
| } | |||||
| conn, err := rpc_server_conn(url...) | |||||
| if err != nil { | |||||
| return false, err | |||||
| } | |||||
| defer conn.Close() | |||||
| data := DoTaskParam{} | |||||
| data.Dbname = dbname | |||||
| data.SiteId = siteid | |||||
| data.UserId = userId | |||||
| data.Type = task_type | |||||
| req, err := SetReqData(data) | |||||
| if err != nil { | |||||
| log.Println("DoTask crypter error:", err) | |||||
| return false, err | |||||
| } | |||||
| res := &Response{} | |||||
| err = conn.DoTask(req, res) | |||||
| if err != nil { | |||||
| log.Println("taskrpc DoTask error:", err) | |||||
| return false, err | |||||
| } | |||||
| res_data_de, err := GetResData(res) | |||||
| if err != nil { | |||||
| return false, err | |||||
| } | |||||
| if res_data_de == "" { | |||||
| return false, nil | |||||
| } | |||||
| var task_res bool | |||||
| err = json.Unmarshal([]byte(res_data_de), &task_res) | |||||
| if err != nil { | |||||
| return false, err | |||||
| } | |||||
| return task_res, nil | |||||
| } | |||||