Я написал робота в R для очистки данных с веб-сервера. Робот написан на R с использованием RSelenium. Я написал две версии, одна с отдельным селеном с использованием хрома, другая с использованием непосредственно фантомов. Обе версии прекрасно работают на сервере Linux (OpenSuSE), когда я запускаю их вручную. Однако оба сервера не работают, когда я запускаю их, используя cron В последнем случае я получаю такую ошибку при попытке создать драйвер:
Порт сигналов Selenium Server = 4567 уже используется.
Порт в порядке и слушает, как и ожидалось. И это происходит только когда я запускаю скрипт через cron.
Можете ли вы намекнуть мне, что не так и как я могу это решить? Большое спасибо.
Я пробовал другие порты и многое другое. Я предполагаю, что проблема где-то во взаимодействиях cron-R-Rselenium. (Cron нормально работает на сервере с некоторыми другими моими более простыми скриптами на python, которые отбрасывают статические страницы.)
Это минимальный пример с фантомами.
library(RSelenium)
system("./phantomjs --webdriver 4567", wait = FALSE)
Sys.sleep(10)
driver <- rsDriver(browser = "phantomjs", port = 4567L)
remDr <- driver$client
Ошибка на линии driver <- rsDriver(browser = "phantomjs", port = 4567L)
со следующим сообщением об ошибке:
Ошибка в wdman :: selenium (порт = порт, подробный = подробный, версия = версия,:
Сигналы сервера Selenium port = 4567 уже используются.
Вызовы: source ... withVisible -> eval -> eval -> rsDriver ->
Большое спасибо за любую помощь.