1

因此,让我以我是一名 JS 开发人员作为序言,他开始在 R/DeployR 中开展一个项目,所以我的知识仅限于我在过去几个月中学到的知识。

我在节点中使用 DeployR Javascript API,它连接到 DeployR Open Edition 7.4.1。

我一直在处理一个让我自己和数据工程师都感到困惑的错误。仅当传入大量数据(28k+ 行数据库)时才会发生这种情况。

我集成了 Pubnub 以获取该过程的日志记录,这是正在发生的事情的要点,以及我正在尝试解决的问题。

流程:节点通过 Javascript API 向 R 脚本发出请求,该脚本根据算法处理数据。R 脚本使用 for 循环针对每个算法运行数据。

问题:在第三个循环/算法中,deployR 向 javascript API 返回一个错误,然后将错误作为 JSON 返回给应用程序。但是,脚本会继续运行,并在 PubNub 中显示完成状态。奇怪的是,然后返回预期的数据对象,调用 Javascript API 中的 .end 函数。这将返回一个空响应。所以错误正在调用,但是 R 脚本继续运行。

返回错误:

{ get: [Function],
  deployr: 
   { response: 
      { success: false,
        call: '/r/project/execute/script',
        errorCode: 403,
        error: '403: Project currently in-use by node_api, call rejected.\n' } } }
4

1 回答 1

0

在解决了一些复杂的问题后,我们发现 DeployR 服务器在 R 脚本(一个相当复杂的脚本)完成数据之前返回,因此后续调用无法加载项目。

这主要是因为创建了一个比 DeployR 真正要处理的规模更大的应用程序,但是我们实现了 PubNub - 任何类似的观察器功能让节点(或任何前端)环境知道实际脚本本身何时完成就可以了!

于 2016-07-20T01:36:55.820 回答