Вызов rpc для функции R не отвечает в случае облачного сервера OpenCPU, хотя он отлично работает на однопользовательском сервере

Я использую OpenCPU для своего веб-интерфейса проекта R. проект работает нормально, и я могу получить результаты, как и ожидалось, на моей локальной машине (однопользовательский сервер).

затем я развернул свой проект на виртуальной машине, и это не сработало. На виртуальных машинах функции R работают правильно из командной строки R. Один пользователь также работает, и я могу запросить его с помощью cURL. но общедоступный сервер всегда зависает и истечет время ожидания через 90 секунд

другие моменты, на которые следует обратить внимание:

  1. примеры проектов, такие как tvscore и gitstats, также отлично работают на облачном сервере.
  2. мой проект основан на rJava. У меня были проблемы с его настройкой, но, наконец, он заработал на однопользовательском сервере.
  3. Я пробовал AWS EC2 t2.micro. Я также пробовал экземпляры Google n1 (1-CPU 3,75 ГБ) и n2 (2-CPU 7,5 ГБ).
  4. Я ничего не менял в своем /etc/opencpu/server.conf

ошибка, которую я получаю при сбое:

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

мой сервер.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"]
}

person Community    schedule 21.07.2015    source источник


Ответы (1)


Увеличьте значение «timelimit.post» в server.conf. По умолчанию 90 секунд, видимо нужно больше.

person Igor Elbert    schedule 14.04.2016