【问题标题】:How to use request/response with in node cron job如何在节点 cron 作业中使用请求/响应
【发布时间】:2015-10-26 16:14:58
【问题描述】:

嗨,我是 node js 的初学者。我需要使用 cron 向用户发送有关待付款的邮件。我正在使用模块 Cron 。 url /remainder 执行所有必要的功能来完成这项工作,并且工作得很好。我的疑问是我可以在 cron 作业中调用这个 url。我们如何使用请求/响应。当 cron 运行时,输出为 null

var CronJob = require('cron').CronJob;
new CronJob('00 * 23 * * *', function(req,res){
    console.log(req);


}, null, true, "America/Los_Angeles");

【问题讨论】:

  • 那么对于每个进入/remainer 的请求,您想创建一个新的 CronJob 并定期打印请求吗?
  • 您不想让您的 cron 作业功能在 url 上可用。如果用户找到该 url,他/她可以根据需要多次触发 cron 作业。最好从您的 cron 作业中调用您的函数。只需将您的 console.log 替换为函数或调用其中一个控制器中的函数即可。
  • @TuanAnhTran 不,我想定期调用 url /remainder。但是当我使用 res.writeHead(302, { 'Location': '/remainder' });它会抛出错误,因为 req 为空。
  • @ThomasBormans 尽管我需要使用来自查询的响应
  • @AishwaryaKarthik 访问url和直接调用函数有什么区别?您是否在访问函数之外的 url 之前/之后做一些事情?

标签: node.js cron


【解决方案1】:

所以/remainder 正在做实际的工作,对吗?只需在回调中调用它。

var request = require('request')
var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
    console.log('You will see this message every second');

    request('http://www.google.com', function(error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log('im ok')
            // console.log(body) // Show the HTML for the Google homepage.
        }
    })
}, null, true, "America/Los_Angeles");

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2019-05-10
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多