我正在尝试将node.js应用程序集成到现有的PHP/MySQL系统中。 node-mysql
用于允许node.js访问MySQL数据库。 MySQL数据库中名为tableA
的表格每10分钟更新一次新数据。使用Node.js修改MySQL表格
问题:使用节点时,我需要节点服务器连续检查tableA
,以便更新tableA
时得到更新。什么是实现这一目标的好方法?
我在想如果我使用setInterval(checkDb(tableA), 10*60*1000)
或无限循环,则checkDb
查询函数可能与数据库更新不一致。
我也恰好在使用socket.io
所以如果PHP甚至有可能向node.js发送消息,那么对于PHP系统来说,一个很好的方法可以用于节点服务器的emit('dbUpdated')
?
节点代码
var dbCheckQueue = function(callback) {
client.query('SELECT * from tableA',
function(error, results, fields) {
if error
throw error;
callback(results);
});
}
// 10mins-interval checking of table
setInterval(function() {
dbCheckQueue(function(results) {
console.log('Fresh meat!')
});
}, 10*60*1000);
如何从PHP触发它?也许只是一个简单的方法,因为我需要的只是发送单向消息。 – Nyxynyx
你可以使用socket_connect(http://www.php.net/manual/en/function.socket-connect.php)和相关函数(socket_send)来连接和发送消息。 – savageguy