0

我正在尝试制作一个仪表板,显示自我们上次部署服务以来的时间。

这是我计划使用的产品:

  1. 调用部署脚本。
  2. 在脚本结束时,脚本会通知我的 Meteor 服务器部署。
  3. 服务器插入包含有关部署信息的文档。
  4. 所有客户端都会收到新文档并重新渲染。

我遇到的唯一问题是第 2 步。

最好的方法是如果服务器可以以某种方式订阅并且客户端可以发布但服务器似乎不支持订阅。

另一种选择是自己实现 DDP,但如果不在浏览器中,这可能并不容易。

我看了一下meteor-collectionapi,它是Meteor的REST API,但感觉这违反了Meteor原则,并且在使用Meteor 0.6.5时它似乎也被破坏了

所以我的问题是,如何通过 Meteor 方式通知服务器更改?

4

1 回答 1

1

REST API 没有任何问题。毕竟,HTTP 是 Web 服务器会话的主要语言。

在服务器上,通过以下方式监听(0.6.5代码):

WebApp.connectHandlers.stack.splice(0,0,{
  route: '/some/long/secret/route',
  handle: function(req, res, next) {
    if(req.method === 'POST') {
      // Listen for deploy information
      // Insert info to DB
    }
  },
});

然后您可以curl提供正确的地址并提供您想要的任何数据。建议在 POST 参数中包含一个安全秘密,这样一些幸运的爬虫就不会留下不必要的数据。

于 2013-08-17T00:42:04.883 回答