问题标签 [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.
opencpu - 向 OpenCPU Store 添加自定义函数
我想弄清楚如何向我的 OpenCPU 商店添加自定义功能。
我知道我们必须在 R/tmp 中创建一个对象。在 /home/ 中创建商店后,我们必须将该对象从 R/tmp 移动到 /home/store/ 使用:
PUT /home/[商店名称]/[对象名称]
使用 R/pub 中已经存在的函数/包很容易,但是当我尝试使用自己的自定义函数时,我卡住了。
我可以在此网页上使用我自己的自定义函数以第三种形式创建一个 R/tmp/[hashkey] 对象:
http://public.opencpu.org/userapps/opencpu/opencpu.demo/runcode/
返回:
所以我把它移到我的商店通过
PUT /home/[商店名称]/new.function
带参数:对象='x0188b9b9ce'
然后我看到:
但是当我:
我得到这个回应:
那么我做错了什么?
是的,我已经用实际的字符串替换了 [user name] 和 [store name],我只是想让它尽可能简单明了,并且与文档有明确的联系。
opencpu - 调用opencpu自定义函数返回错误
我将一个函数 ( apistatus5
) 上传到一个 opencpu 存储 ( ropensci_dash
) 中:
https://public.opencpu.org/R/user/SChamberlain/ropensci_dash/apistatus5/ascii
我将函数放入我的用户名 () 下的 opencpu 中的存储中SChamberlain
,但我不断收到错误消息:
STRING_ELT() 只能应用于“字符向量”,而不是“原始”
opencpu 是否有某种错误检测?该代码在我自己的 R 机器上运行良好,因此我不确定尝试运行时错误在哪里:
https://public.opencpu.org/R/user/SChamberlain/ropensci_dash/apistatus5/png
r - 数据对象是否持久存在于 openCPU 的 R 会话中?
我想提供一个需要访问大型数据集的网络工具。优选地,这个 R 数据对象应该被加载到内存中一次,然后可用于用户定义的查询。
openCPU 框架是否以任何方式支持持久数据对象,还是每个查询都从空白开始?
r - OpenCPU 如何在 R/pub 中安装一个包?
我不清楚如何在我自己的 openCPU 服务器上的 openCPU 中的 R/pub 下安装 R 包。openCPU 文档声明软件包安装由管理员处理,但没有给出任何关于软件包安装的说明(我可以找到)。
我确定我遗漏了一些明显的东西,但是对此的任何帮助将不胜感激。
FWIW,我正在尝试安装“markdown”包,由于某种原因在调用opencpu-cran
.
更新:
我发现这个链接到一个例子。它调用以下 URL ,但基于此 SO 问题"/Radmin/call/opencpu.demo/install.opencpu/json"
,该方法似乎不起作用。那么,如果这不是通过 openCPU 安装软件包的方式,它是如何完成的呢?
opencpu - 使用存储在 OpenCPU 服务器上的输出文件作为后续函数调用的输入
问题:如何使用存储在 OpenCPU 服务器上的输出文件作为另一个函数的输入?
背景:
我正在尝试在 openCPU 中使用knitr
和markdown
生成 html,我可以使用它来更新带有页面加载统计信息的网页。
基本工作流程如下:
- 生成 .Rmd 文件,存储在本地。
- 访问使用 AJAX 将 .Rmd 文件上传到服务器上的 OpenCPU 实例的网页。
knit
通过 openCPU使用该函数将函数转换为存储在服务器上的 *.md 文件。- 对存储在服务器上的文件使用该
markdownToHTML
函数(通过传入通过调用生成的适当哈希knit
)并接收包含生成的 HTML 的 AJAX 回复。 - 使用新的 HTML 更新网页。
就目前而言,我的这个过程一直到第 4 步。我可以knit
通过表单请求 POST 调用传入 .Rmd 文件,并且我收到来自 OpenCPU 的以下回复:
通过函数"test.md"
生成的输出文件在哪里。knit
现在,我尝试使用散列(在这种情况下"x7821c69f79"
,通过 POST 到/R/pub/markdown/markdownToHTML/ascii
以下参数:
这将返回HTTP 400
带有以下消息的错误:
但是,当我向 发出 GET 请求时,会返回/R/tmp/x7821c69f79/bin
的内容。test.md
所以我知道文件在调用knit
.
那么,这里发生了什么?换句话说,如何使用存储在 OpenCPU 服务器上的输出文件作为另一个函数的输入?
r - opencpu服务器,如何实现OAuth2接口?
我已经安装了 OpenCPU 服务器并试图让用户创建自己的登录名,但我不断收到以下错误消息:
关于我做错了什么的任何想法?
r - Opencpu App-开发流程及部署
我发现了一个 R 包opencpu-demo
,它作为应用程序安装在服务器上。但是,尚不清楚用户需要在/install
目录中显式创建哪些文件以及如何将其与 R 函数联系起来。它是否需要嵌入 R 的 JavaScript,反之亦然。任何帮助或指向教程的指针将不胜感激。
rapache - 在云中托管 R 时的内存要求
如果我们预计每月有 100,000 次点击,我们需要运行 opencpu 的最小服务器大小是多少?
我认为 opencpu 是一个令人兴奋的项目,但需要了解部署 opencpu 时的内存使用情况,因为诸如 rackspace 之类的云托管服务对于 1 GB 的 RAM 每月收费约 40 美元。
我知道如果我加载 R 而不做任何事情或在 RAM 中加载任何数据或包,它会使用近 700m 的 RAM(虚拟)和 50 兆字节的 RAM(驻留)。
我知道 opencpu 使用 rApache,而 rApache 使用 preforking,但想知道随着并发用户数量的增加,这将如何扩展。谢谢。
感谢您的回复
我在访问洛杉矶时与 Jeroen Ooms 进行了交谈,并且部分相信如果正确使用 opencpu 将在高并发环境中工作,并且如果出现问题,他可以解决问题。毕竟opencpu跟他的论文有关!特别是,我发现 opencpu 的有用之处在于它与 ubuntu 的 AppArmor 的集成,它可以限制进程使用过多的 RAM 和 CPU。我认为 apache 可能也可以做到这一点,但 RAppArmor 可以做到这一点以及更多。杰出的!如果 AppArmor 是唯一的优势,我只会使用它和 json 作为后端,但似乎 opencpu 也可以简化所有这些东西的安装并提供内置的 API 系统。
考虑到网络托管的成本,我想一个可行的实时分析系统如下:
- 根据需要在专门的分析服务器上按需创建 R 统计模型(例如,每天或每小时使用 cron)
- 使用 ftp 将模型的结果传输到 opencpu 服务器上的目录,作为本机 R 对象
- 在 opencpu 服务器上,进入目录并获取代表统计模型的 R 对象,然后使用它进行预测或模拟。例如,使用“预测”函数根据用户提供的变量提供估计值。
有其他人认为这是使 R 成为实时分析后端的可行方法吗?
r - R 包无法通过“opencpu knitr app”访问
几周前我开始玩 OpenCPU 并迷上了它。我能够成功安装“knitr”和“opencpu.demo”应用程序。我遇到的问题是当我尝试调用我打包在一个新的 r 包下的 R 函数并从 knitr-app 中调用它时。我收到一条消息说不存在这样的包。我从 R shell 和 knitr-app 界面运行了 installed.packages(lib.loc="/usr/lib/R/library") ,确实我的包出现在前者中,但没有出现在后一种情况下。不知道这里发生了什么!如果有人能回答这个问题,将不胜感激。
评论:当我通过 /R/pub/base/identity/json API 运行 find.package("DummyPkg") 时,我确实回来了
然而,来自 knitr-app 网页的相同查询返回:
apache - preload[ ] 的 server.conf json 条目
我想在opencpu中预加载一些包。我尝试了文件 /etc/opencpu/server.conf 中 preload[ ] 的一些变体,但它不起作用。想知道进入“preload []”数组字段的正确语法是什么?任何例子都会有所帮助。