问题标签 [opencpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
770 浏览

python - 用于 Python 的通用 REST/RPC API(OpenCPU 等效项)

我和一位同事目前正在使用OpenCPU通过 REST API 将我们在 R 中编写的分析公开给其他应用程序。最近需要以类似的方式利用一些 python 库。来自 OpenCPU 的描述:

OpenCPU 是一个用于嵌入式科学计算和可重复研究的系统。OpenCPU 服务器为基于 R 的数据分析提供可靠且可互操作的 HTTP API。您可以使用公共服务器或托管自己的服务器。

基本上,我们更新服务器上的 R 库,它会自动在 REST 端点公开更新的和新的函数。它负责将数据从 JSON 编组到 S3,然后再返回到 JSON。无需使用 OpenCPU 手动配置路由。

那么我的问题是,假设我们在一个安全的环境中运行,是否存在 python 的等价物?我已经尝试过搜索,但到目前为止运气不佳。

谢谢!

0 投票
1 回答
238 浏览

linux - 如何在 SUSE 上启动 opencpu 服务

我在 suse 版本 11 上安装了 opencpu。当我从 R 控制台执行此命令时:

Opencpu 为单用户启动,我可以查看测试页面。

但是,我实际上需要在服务器上安装opencpu,多人可以访问。我只看到 Ubuntu 和 Debian 安装。有人在其他操作系统上安装过opencpu吗?

0 投票
1 回答
293 浏览

r - Opencpu 和 R 统计

我想使用 OpenCpu 来做基于网络的统计应用程序。但是,我在网上看到的文档似乎是矛盾的。对于新手来说,仅仅尝试开始是很困难的。我希望有人知道怎么做。我在stackoverflow上看到了一些帖子,但我仍然看到矛盾。请注意,我在 java 中使用了 Rserve,在 python 中使用了 Rpy2,它们是 R-stats 的包装器。

但是在网站上,我看到他们说 OpenCpu 是使用 HTTP 的嵌入式引擎。我希望在我的本地 Ubuntu 机器上安装这个 OpenCpu。

所以我的问题是:(1)OpenCpu 服务器是否包含一些嵌入式版本的 R-statistics?所以下载包含我需要的一切。或者 (2) 是否必须分别安装 R-statistics 和 OpenCpu 服务器,因此这是两个通过 HTTP 相互通信的独立应用程序。

所以你可以看到我在网上找不到这种基本的入门知识。

0 投票
1 回答
1170 浏览

r - OpenCPU 上的自定义 R 包 / 包找到,但没有可见的功能

CI 为 OpenCPU 编写了一个 R 包,想在我自己的云服务器上使用它。即使包本身被识别并且可以更新,我也无法访问任何功能,并且我可以通过 POST 和 GET 通常访问其他(非自定义,例如基本或统计)包。

我已经安装了自定义包以及所有依赖项,/usr/local/lib/R/site-library并且可以在服务器上本地使用 R 会话中的函数。

该函数已正确导出(使用 roxygen2 的文档):

但是当我通过 OpenCPU(通过浏览器或 curl)访问它时/ocpu/library/MyPkg/R/TestConnectivity,我得到:

/ocpu/library/MyPkg/R/也是空白的(通常需要导出函数的列表),但包本身可以通过浏览器在以下位置看到/ocpu/library/MyPkg/

我已将其名称添加到 中的预加载字段中/etc/opencpu/server.conf,但/ocpu/info仅显示为loaded via a namespace (and not attached): [n] MyPkg_0.1.2. 我不知道,如果这有问题。

我还添加了对软件包功能所需的所有文件的访问权限/etc/apparmor.d/opencpu.d/custom,例如用于 ODBC 数据库连接的 DSN 配置文件。

包本身不仅包含函数,还包含组装R6S3类定义(单个文件中的继承)——TestConnectivity()尽管如此,它们都没有在 . 函数也并不总是放置在与函数名称完全相同的文件中 - 有时多个文件组合在一个文件中。(TestConnectivity()放在相应的TestConnectivity.R文件中 - 如果重要的话。)

与在本地使用包相比,使用 OpenCPU 时文件结构是否存在一些限制,这可能会导致此问题?或者类定义文件可能是造成问题的原因?任何建议表示赞赏。

0 投票
1 回答
680 浏览

opencpu - 通过 apt-get install 安装 Opencpu,不起作用

我刚刚运行了一个 apt-get install,这就是我得到的输出。

还有其他人在 Ubuntu 14.04 (LTS) 中安装 opencpu 时遇到问题吗?

0 投票
2 回答
522 浏览

opencpu - OpenCPU中长时间运行的作业的任务模型?

据我所知,OpenCPU 中没有任务模型,也就是说,一个开放的 TCP 连接必须等待任意长的时间,直到请求完成。

任务模型实现的一种可能性是,当人们希望运行一个函数时,200 OK立即返回一个带有状态的专用任务 uri。POST这样做的好处是,当作业在后台运行在服务器上时,客户端会立即得到结果。

然后,客户端将轮询任务 URI,直到它返回201 created,这意味着作业已成功完成,或者调用不成功的错误代码。在成功的情况下,正文将包含POST现在直接创建的相同资源列表。

对此模型或类似方法有何看法?大家是怎么处理这个问题的?我认为在没有打开 TCP 连接的情况下支持长时间运行的作业会很有价值。我还想到了在轮询仍在运行的作业时提供进度信息等可选功能。

0 投票
0 回答
190 浏览

javascript - 如何将 ocpu.req 的输出分配给 opencpu/javascript 中的变量

我正在尝试创建一个基于自我的 opencpu 应用程序,用户将在其中上传 csv 文件,将能够绘制 csv 文件:

我有这个代码:

当我取消注释警报(网址)时,我可以看到网址并且它是准确的。但是,以下似乎不起作用。我需要做的是将 session.loc()+"stdout/text" 的输​​出分配给一个变量并开始操作输出。但是,console.log(data) 没有产生任何输出。有任何想法吗?

0 投票
1 回答
331 浏览

opencpu - 你如何自定义格式opencpu输出

我有一个这样的 csv 文件:

我使用 ocpu platfrom 上传它。读取 csv 文件的 R 函数是这样的:

一旦我使用 ocpu 读取了这个文件,数据就在会话中。现在我需要打电话来更新我的 html 列表。为此,我需要调用会话对象并以 json 格式检索标头:

一旦我在 Json 中获得标题,我就可以用 javascript 填充它。现在选择列表已更新,基于用户选择的 x 轴值(这将是 DateTime)和 Y 轴值(这可能是 Server1 或 Server1 到 Server3),我需要再次调用 session 并检索值自定义 Json 格式如下:

0 投票
0 回答
457 浏览

javascript - 你如何将几个参数传递给opencpu中的R函数

我有一个函数,它需要一个 json 作为输入输入和几个参数,如下所示:

此数据函数需要 x 作为 json 格式和一堆其他参数。

在opencpu框架中:

我根据以下选定的列表项构建名为 param 的参数列表:

控制台日志(参数)

当我拨打这个电话时,我收到了这个错误:

当我在 R 控制台上运行这个函数时,

数据(x, listname=c("Server1","DateTime")

它完美地工作。

我需要在 javascript 上做更多的事情来格式化参数输出吗?

0 投票
1 回答
298 浏览

r - 移动设备上的 OpenCPU 失败

我最近开始玩弄 OpenCPU,我必须承认我对它印象深刻。虽然,我遇到了一个奇怪的问题。

当我尝试在我的笔记本电脑上访问我当前正在处理的应用程序时,一切都很好。但是,当我在移动设备上执行此操作时,会出现错误。

“与 OpenCPU 的连接失败:错误”

关于为什么会发生错误的任何想法?我已将示例上传到 www.ttbjerring.com

最好的,比杰林