Javascript 在Node.js应用程序中处理外部触发器

Javascript 在Node.js应用程序中处理外部触发器,javascript,node.js,mongodb,unix,unix-socket,Javascript,Node.js,Mongodb,Unix,Unix Socket,我有一个Node.js守护程序,它全天候运行在我的Debian home server上 我希望它能够处理由motion生成的触发器,这是一个监控安装在同一台机器上的摄像头的视频信号的程序Motion可以在某些事件上执行命令,例如,当检测到运动或相机连接丢失时 我可以编写一个脚本来处理这些事件,并将它们记录在数据库中,在我的守护进程中,我可以连续轮询数据库。但这将是非常低效的,对吗 在Node.js应用程序中处理外部触发器的最佳方式是什么?请看一看。它允许你做你想要的事情 在你的守护进程中,你会

我有一个Node.js守护程序,它全天候运行在我的Debian home server上

我希望它能够处理由motion生成的触发器,这是一个监控安装在同一台机器上的摄像头的视频信号的程序Motion可以在某些事件上执行命令,例如,当检测到运动或相机连接丢失时

我可以编写一个脚本来处理这些事件,并将它们记录在数据库中,在我的守护进程中,我可以连续轮询数据库。但这将是非常低效的,对吗

在Node.js应用程序中处理外部触发器的最佳方式是什么?

请看一看。它允许你做你想要的事情

在你的守护进程中,你会有这样的东西

var dnode = require('dnode');
var server = dnode({
    transform : function (eventObject, cb) {
        //handle the event

        cb(callbackDataHere)
    }
});
server.listen(5004);
然后需要创建运动将调用的命令

var dnode = require('dnode');

var d = dnode.connect(5004);
d.on('remote', function (remote) {

    var eventDataToSend = {}

    remote.transform(eventDataToSend, function (s) {
        //Do stuff with arguments sent back from the callback on the server
    });
});

我实际上不需要回调,只需向Node.js进程发送并忘记样式消息,尽管如果我可以省略回调,它将适合。事实上,一位同事建议我使用UNIX套接字,但我不确定这是否适合他们。您认为呢?您正在有效地使用UNIX套接字。您可以在这里阅读有关节点和Unix套接字的更多信息。谢谢,我将对此进行研究。