使用节点 JS 每秒加载一次查询



我想在插入后选择数据,所以我想要的是每秒检查一次是否有新数据。我创建了一个选择查询,然后尝试使用控制台日志显示它。请帮助我,我是新手。这是我的代码

控制器

var connection = require('../../config/db');
function myQuery(callback) {
this.pushActivity = function(req, res, next) {
    var salesman_id = req.query.salesman_id
    connection.acquire(function(err, con) {
        con.query('SELECT * FROM `activities` where salesman_id="'+salesman_id+'" and kunci="0" and created=NOW()', function(err, data) {
            con.release();
            if (err) {
                return res.json({ status: 400, message: 'Failed', result: [] });
            } else {
                console.log(data)
                // return res.json(data);
            }
        });
    });
};
callback();
}
function wait10sec(){
 setTimeout(function(){
     myQuery(wait10sec);
 }, 10000);
}
myQuery(wait10sec);
module.exports = new myQuery();

路由器

var ad = 
require('./../../controllers/mobile/activity_after_deal');
module.exports = {
   configure: function(app) {
      app.route('/api_ad_push_notif').get(ad.pushActivity);
   }
};

这不是一个好的和有效的方法。而不是使用它,尝试在放置请求上使用侦听器来更改数据,并在更改事件后执行 Get 查询并输出更改的数据。将 Socket.io 库用于此类目的。

您可以使用 socket.io .通过此模块,您可以将实时事件发送到服务器并获得响应。

例如,发送

新数据时,可以选择"查询"或向用户发送"发出"或在控制台日志中显示

您可以通过添加来创建工作线程

setInterval(function(){        
  //run query and console        
}, 1000) and you can set time        

最新更新