无法通过cron标签进行resty.v2 POST调用

时间:2019-06-28 10:15:48

标签: rest go cron dropbox resty

我正在使用Golang的crontab和resty.v2创建一个调度程序,以调用POST api(Dropbox文件上传api)。
当我手动调用文件上传方法时,它可以正常工作。但是,当通过crontab调度程序调用相同的方法时,不会进行其余的调用。
有趣的事实是,它既不会引发任何错误,也不会提供任何休息呼叫响应。
PFB调度程序代码调用上载方法:

func StartJob() {
ctab := crontab.New()

for _, v := range strings.Split(os.Getenv("schedules"), commaSeparator) {
    match, _ := regexp.MatchString(regex, v)
    if match == true {
        hhmm := strings.Split(v, colonSeparator)
        expresion := fmt.Sprintf(cronExpression, hhmm[1], hhmm[0])
        ctab.MustAddJob(expresion, func() {
            go service.Upload(dropboxEndpoint, dropboxAccessToken, os.Getenv("hkpath"))
        })
    } else {
        fmt.Printf("Not acceptable time-format : %s\n", v)
    }
}}

这是上传方法代码:

func Upload(dropboxEndpoint string, dropboxAccessToken string, path string) {
_, fileName := filepath.Split(path)
fileBytes, fileErr := ioutil.ReadFile(path)

if fileErr == nil {
    fmt.Println(path)
    resp, restErr := client.R().
        SetBody(fileBytes).
        SetContentLength(true).
        SetHeader("Authorization", fmt.Sprintf("Bearer %s", dropboxAccessToken)).
        SetHeader("Dropbox-API-Arg", fmt.Sprintf("{\"path\": \"/home/f1/%s/%s\",\"mode\": \"add\",\"autorename\": true,\"mute\": false,\"strict_conflict\": false}", os.Getenv("name"), fileName)).
        SetHeader("Content-Type", "application/octet-stream").
        Post(dropboxEndpoint)

    if restErr != nil {
        log.Fatal(restErr)
    } else {
        fmt.Println(resp)
    }
} else {
    log.Fatal(fileErr)
}}

知道我在做什么错吗?

0 个答案:

没有答案