R скрипт в AWS EC2 с задержкой при запуске функции - PullRequest
0 голосов
/ 19 января 2020

Я недавно запустил и AWS экземпляр для размещения веб-сайта в Flask. У меня также есть несколько файлов R в экземпляре, который я настроил для запуска на cron для обновления шаблонов html в экземпляре Flask. Однако один из сценариев R не работал, поэтому я решил присмотреться. Казалось, он всегда получал команду «Killed» из AWS, даже если он запускался вручную, а не в crontab. Я отредактировал скрипт R, чтобы иметь несколько команд print, чтобы увидеть, где код зависает. Я обнаружил, что код зацикливается не на каких-то сложных вычислительных частях, а на самом деле просто «открывает» ранее определенную функцию. Я включил пример кода ниже для справки:

# Import libraries & SetWD
setwd("/home/ec2-user/folder')
library(xml2)

# Define function
functionx <- function(input1, input2){
    # Comment here
    print('the function has started 2')
    ... - the rest of the function
}

# Some more code down here to actually run the function
for(i in 1:10){
    print('about to start the function')
    print('the function has started 1')
    answer <- functionx(i, input2)
}

При запуске скрипта в PuTTY я всегда получаю следующие сообщения:

[1] "about the start the function"  <- this one is instantaneous
[1] "the function has started 1"  <- this one occurs <1 second after the previous one
[1] "the function has started 2"  <- this one takes about 10 minutes to show up
Killed  <- this happens about 2-3 seconds after the message before it

Я пытался запустить Код локально, без проблем. Я пытался остановить Flask, пока он работает, это не влияет. Я понимаю, что могут быть некоторые проблемы с памятью, но только инициирование функции, которая облагается налогом? У кого-нибудь еще была такая проблема?

AWS Характеристики: AWS Linux AMI EC2 t.2 micro (1 ГБ ОЗУ)

R Характеристики: R 3.4.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...