将任意数据推送到Meteor服务器

时间:2013-08-17 00:13:50

标签: meteor

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

这是我计划使用的产品:

  1. 调用部署脚本。
  2. 在脚本结束时,我的Meteor服务器会收到脚本部署的通知。
  3. 服务器插入包含有关部署信息的文档。
  4. 所有客户都会收到新文档并重新呈现。
  5. 我遇到的唯一问题是第2步。

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

    另一个选择是自己实施DDP,但是当不在浏览器中时,这可能并不那么容易。

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

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

1 个答案:

答案 0 :(得分: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参数之一,以便一些幸运的爬虫不会留下不必要的数据。