Я работаю над тем, чтобы разобраться во внутреннем устройстве Rserve. Я использую Rserve в течение нескольких недель, и большую часть времени он отлично работает. Однако по мере того, как я начал продвигать его больше (большие наборы данных, более сложные функции), я понимаю, что мне нужно лучше понимать, что происходит. В частности, я вижу эту ошибку:
Отправляется первый запрос:
> library(Rserve)
> run.Rserve(config.file = "Rserve.conf")
-- running Rserve in this R session (pid=6), 1 server(s) --
(This session will block until Rserve is shut down)
Error in run.Rserve(config.file = "Rserve.conf") :
ignoring SIGPIPE signal
Execution halted
Проходит некоторое время до следующего запроса к Rserve...
Error in file() : cannot open the connection
Calls: CallC19 -> <Anonymous> -> retfun -> capture_output -> file
In addition: Warning message:
In file() :
cannot open file '/tmp/RtmpvX0AqD/Rf1d72f3ac9c': No such file or directory
Затем эта ошибка появляется для каждого последующего запроса, но каждый раз с новым путем к файлу.
Я бы предположил, что одна из моих зависимостей создает этот временный файл, за исключением того бита о невозможности открыть соединение. Буферизирует ли Rserve свой ответ на файл на пути к клиенту?
Мой следующий шаг — просмотреть исходный код, но я надеюсь, что кто-нибудь сэкономит мне время или, по крайней мере, укажет мне на какую-нибудь документацию о деталях реализации Rserve...
- Версия R: 3.6.3
- Версия Rserve: Rserve_1.8-7
- Версия pyRserve: 0.9.2
- ОС: Debian Буллсай