DeployR 服务器 & Javascript API,大数据 returns "Project in Use"

DeployR Server & Javascript API, Large Data returns "Project in Use"

所以让我先说明一下我是一名 JS 开发人员,他在 R/DeployR 开始从事一个项目,所以我的知识仅限于我在过去几个月里学到的东西。

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

我一直在处理一个让我自己和数据工程师都难过的错误。这仅在传入大量数据时发生(28k+ 行数据库)。

我集成了 Pubnub 来获取进程的日志记录,这是发生的事情的要点,以及我试图解决的问题。

进程: 节点正在通过 Javascript API 向根据算法处理数据的 R 脚本发出请求。 R 脚本 运行 通过使用 for 循环针对每个算法存储数据。

问题: 在第三个 loop/algorithm 上,deployR returns 错误到 javascript API,然后 returns 作为 JSON 到应用程序的错误。但是,脚本保持 运行ning,并在 PubNub 中显示完成状态。奇怪的是,然后 returns 预期的数据对象,调用 Javascript API 中的 .end 函数。这 returns 一个空响应。所以错误是调用,但是 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' } } }

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

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