Javascript 来自计划作业的Post请求不起作用

Javascript 来自计划作业的Post请求不起作用,javascript,node.js,heroku,scheduled-tasks,Javascript,Node.js,Heroku,Scheduled Tasks,(我对JS、node.JS和Heroku都是新手,所以我希望问题很清楚) 我有一个Heroku node.js应用程序,我可以设置Heroku调度程序每1小时运行一次任务 任务按时运行,调用了方法fireHook()(我可以在控制台中看到日志),但请求不起作用(我没有收到任何lo或错误) 这就是工作: #!/usr/bin/env node var request = require('request') function fireHook(){ console.log("firing"

(我对JS、node.JS和Heroku都是新手,所以我希望问题很清楚) 我有一个Heroku node.js应用程序,我可以设置Heroku调度程序每1小时运行一次任务

任务按时运行,调用了方法
fireHook()
(我可以在控制台中看到日志),但请求不起作用(我没有收到任何lo或错误)

这就是工作:

#!/usr/bin/env node

var request = require('request')


function fireHook(){
 console.log("firing")
 request({
    url: 'https://XXXXXX.herokuapp.com/jobs',
    method: "POST",
    headers: { "content-type": "application/json" },
    json: {"user_id":{ "id":"ddddd"}}

}, function(error, response, body) {
    console.log(response)
    if (error) {
        console.log('Error sending messages: ', error)
    } else if (response.body.error) {
        console.log('Error: ', response.body.error)
    } else {
        console.log('success: ', body)
        reportToSnitch()
    }
})
} 
fireHook();
process.exit();
2个问题:

  • 为什么销售请求不起作用
  • 我目前正在使用webhook调用我的主应用程序,是否有更好的方法直接从脚本调用主应用程序上的函数

  • 谢谢

    我认为您的
    进程.exit()
    正在请求收到响应之前终止您的脚本。尝试将其移动到回调中:

    #!/usr/bin/env node
    
    var request = require('request')
    
    
    function fireHook(){
     console.log("firing")
     request({
        url: 'https://XXXXXX.herokuapp.com/jobs',
        method: "POST",
        headers: { "content-type": "application/json" },
        json: {"user_id":{ "id":"ddddd"}}
    
    }, function(error, response, body) {
        console.log(response)
        if (error) {
            console.log('Error sending messages: ', error)
        } else if (response.body.error) {
            console.log('Error: ', response.body.error)
        } else {
            console.log('success: ', body)
            reportToSnitch()
        }
        process.exit();
    })
    } 
    fireHook();
    
    脚本是异步的,所以必须小心考虑何时何地会发生某些事件。如果您的
    reportosnitch()
    函数也是异步的,则可能需要在该函数结束时启动
    进程。exit()