【问题标题】:assign a function to a variable dynamically将函数动态分配给变量
【发布时间】:2020-03-11 16:03:05
【问题描述】:

我想在特定时间(每 5 分钟)通过肥皂 api 从几台机器获取信息 所以我正在使用节点计划,我想根据我数据库中的每台机器制定几个计划。 我正在使用此代码:

//fetch machines configrations
function readMachinesConfig() {
  return pool.query("SELECT * FROM machines").then(res => {
    const machines = {};
    res.rows.map(machine => {
      let machine_line = machine.machine_name + "/" + machine.machine_line;
      machines[machine_line] = { url: machine.url, scantime: machine.scantime };
    });
    return machines;
  });
}

readMachinesConfig().then(res => {
  Object.keys(res).map((machine, index) => {
    let scantime = "*/" + res[machine].scantime + " * * * *";
    //***HOW to set variable name dynamically*** 
    jobs[index] = schedule.scheduleJob(scantime, function() {
      console.log(scantime);
    });
  });
  return jobs;
});

所以我想设置动态保存调度函数的变量名称,以便我可以重新调度它或稍后取消它。

jobs[index] = schedule.scheduleJob(scantime, function() { 控制台.log(扫描时间); });

我该怎么做?

【问题讨论】:

  • 你能提供一个可行的例子吗?这段代码脱离了上下文。这些函数在哪里调用?职位描述在哪里?
  • jobs 只是一个空数组,我向它声明了函数(现在),但我想要一种方法来放置动态生成的变量而不是它。 (名称在数据库中)
  • 将机器配置输入另一个文件后调用该函数(开始为其调用api)

标签: javascript node.js node-schedule


【解决方案1】:

你可以使用 cron-job-maanger 来修改作业

https://www.npmjs.com/package/cron-job-manager

【讨论】:

    猜你喜欢
    • 2021-12-05
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多