gpt4 book ai didi

javascript - 在共享同一数据库的不同服务器上触发 Meteor 方法调用

转载 作者:可可西里 更新时间:2023-11-01 10:21:08 26 4
gpt4 key购买 nike

假设我在 Galaxy 上托管了一个普通的 Meteor 网站/应用程序,然后在另一台服务器上托管了一个管理站点,但是两者都连接到同一个数据库

我希望我的常规站点上的用户能够在管理服务器上远程触发方法调用(或任何过程)。

我认为这是可以做到的,因为如果我有一个虚拟用户登录到管理服务器上的正确页面,那么它将监听“他”订阅的任何集合的变化至。如果不同服务器上的真实用户更改了该集合中的某些内容,则虚拟用户会看到它,而这又会触发方法调用。

现在,必须有一种方法可以跳过虚拟用户的步骤并直接从管理服务器监听更改。

谁能在这里指引我正确的方向?

最佳答案

用一些代码扩展我对 OP 的评论。

首先,添加this package到您创建的服务器,您希望在其中访问一些 meteor 方法等。然后:

// server1.js
Meteor.methods({
foo: function(bar) {
check(bar, Whatever)
... do some stuff ...

return fooBar
}
})

HTTP.methods({
'/foo/:bar': function() {
return JSON.stringify(Meteor.call("foo", this.params.bar), null, '\t')
}
});

最后,在您要访问第一台服务器的另一台服务器上:

// server2.js
// somewhere on your server (startup, a method, etc.)
try {
var bar = ...
var result = HTTP.call(
"GET", "http://yourFirstServer.com/foo/" + bar
)
} catch (e) {
// Got a network error, time-out or HTTP error in the 400 or 500 range.
console.log(e)
}

关于javascript - 在共享同一数据库的不同服务器上触发 Meteor 方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39361627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com