【问题标题】:Does node's exec call block meteor application?节点的 exec 调用会阻止流星应用程序吗?
【发布时间】:2014-11-03 06:31:53
【问题描述】:

我正在构建一个流星应用程序,它使用 phantomjs 从网页创建 pdf 文件。

PhantomJS 在使用 Meteor._wrapAsync 的纤程中通过节点的 child_process.exec 函数调用。当我使用像 google.com 这样的任何 url 时,它工作正常并创建了 pdf。

问题是,我想在 /invoicePDF 捕获由同一个流星应用程序提供服务的站点。但是在phantomjs的执行过程中,站点显然没有加载,因此它无法在phantomjs中加载,这使得完成对phantomjs的调用是不可能的。

【问题讨论】:

  • 当你直接用你的脚本调用phantomjs时它会加载吗?如果没有,请注册onConsoleMessageonError 活动。可能有错误。
  • 直接调用phantomjs就可以了。 onConsoleMessageonError 不显示任何内容。

标签: node.js meteor phantomjs node-fibers


【解决方案1】:

解决方案似乎是使用Meteor.bindEnvironment 而不是Meteor._wrapAsync。不幸的是,我知道为什么。

【讨论】:

  • 您现在可以接受答案了。也许有人会写一个答案,详细说明为什么会发生这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
  • 2021-10-16
  • 2014-05-03
  • 2012-08-27
相关资源
最近更新 更多