【问题标题】:Passing date in Agenda using variable使用变量在议程中传递日期
【发布时间】:2017-02-10 06:06:28
【问题描述】:

假设我的日期为 x=12 y=45,并且我想使用议程节点 js 在每天 12:45 执行一项任务。所以我的问题是, 如何将日期从js变量传递给Agenda.schedule("at x:y",'doSometask')

【问题讨论】:

    标签: node.js agenda


    【解决方案1】:

    简单的使用this.just连接字符串中的变量。

        var x=12;
        var y=45;
        a = "at "+x+":"+y;
        Agenda.schedule(a,'doSometask')
    

    【讨论】:

    • 感谢您的回答!如果我从 mongo db 获得那个时间值,如果我从我的 mongodb 集合中更改值怎么办!任务时间会不会自动改变?
    • 是的,如果您使用来自 mongo 的数据(例如来自 mongo 的 x 和 y 的值),时间会自动更改。如果回答对您有帮助,请点赞。
    • var Agenda = require('agenda'); var agenda = new Agenda(); agenda.database('192.168.2.152:27017/agenda-test', 'agendaJobs'); var x=11; var y=59; a = "at "+x+":"+y; agenda.define('init', function (job,done) { console.log("INIT AGENDA"); done(); }); agenda.on('ready', function () { console.log("Agenda ready to start"); agenda.schedule(a,'init'); agenda.start(); });
    • 你能用 find 或 findOne 从 db 中找到 x 和 y 的值吗?也可以参考这个github.com/shekhartyagi26/TodoApp/blob/master/routes/index.js
    • 你也可以像这样使用从数据库中查找值 database_name.findOne({id:req.body.id}, function (err, user) { if (err) { res.json({status : 0, message: err}); } if (!user) { res.json({status: 0, msg: "not found"}); } res.json(user); })
    【解决方案2】:
     var x=14;
        var y=23;
    var z=x-2;
        a = "at "+z+":"+y;
    
    agenda.define('init', function (job) {
    
       console.log("INIT AGENDA"); 
    //job.schedule(a);
    //job.save();
    
    });
    
    agenda.on('ready', function () {
    
        console.log("Agenda ready to start");
    agenda.schedule(a,'init');
    agenda.start();
    });
    

    这对我有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多