在OpenCPU云服务器的情况下,rpc调用R函数没有响应,尽管它在单用户服务器中工作正常

时间:2015-07-21 18:38:58

标签: r opencpu

我正在使用OpenCPU作为我的R项目Web界面。 该项目工作正常,我能够在我的本地计算机(单用户服务器)上获得预期的结果。

然后我在VM上部署了我的项目,但它没有用。 在VM上,R功能在R提示符下正常工作。单个用户也在工作,我可以使用cURL查询它。但公共服务器在90秒后总是挂断和超时

其他要点:

  1. 像tvscore和gitstats这样的示例项目在云端服务器上也能正常工作
  2. 我的项目基于rJava。我在设置时遇到了麻烦,但最终它在单用户服务器上运行。
  3. 我尝试过AWS EC2 t2.micro。我还尝试过Google n1(1-CPU 3.75 GB)和n2(2-CPU 7.5 GB)实例。
  4. 我在/etc/opencpu/server.conf
  5. 中没有更改任何内容

    我失败的错误:

    R call did not return within 90 seconds. Terminating process.

    我的server.conf

    {
        "enable.api.library": true,
        "enable.api.apps": true,
        "enable.api.bioc": true,
        "enable.api.cran": true,
        "enable.api.gist": true,
        "enable.api.github": true,
        "enable.api.user": true,
        "enable.api.tmp": true,
        "enable.cors" : true,
        "enable.post.code": true,
        "error.showcall": true,
        "gist.cache": 300,
        "github.cache": 86400,
        "cran.cache": 86400,
        "public.url" : "https://public.opencpu.org/ocpu",
        "smtp.server" : "localhost",
        "httpcache.post": 300,
        "httpcache.lib": 86400,
        "httpcache.git": 900,
        "httpcache.gitapi": 120,
        "httpcache.tmp": 86400,
        "httpcache.cran": 86400,
        "httpcache.static": 31536000,
        "httpcache.bioc": 31536000,
        "key.length" : 9,
        "appspaths": "/usr/local/lib/opencpu/apps-library",
        "repos": "http://cran.rstudio.com",
        "rlimit.as": 2e9,
        "rlimit.fsize": 1e8,
        "rlimit.nproc": 50,
        "timelimit.get": 600,
        "timelimit.post": 90,
        "timelimit.webhook": 900,
        "preload": ["ggplot2", "lattice"]
    }
    

1 个答案:

答案 0 :(得分:1)

增加server.conf中“timelimit.post”的值。默认为90秒,显然你需要更多。