[REDIS] 부팅에서 R 스크립트를 실행
REDIS부팅에서 R 스크립트를 실행
우선,이 수퍼 유저로 이동해야 할 수 있습니다. 더 나은이었다 장소를 결정하지 못했습니다.
나는 부팅 / 재부팅시 실행 doRedis 노동자의 풀에 해당 시스템을 추가 할 것 R 스크립트를 작성하려합니다. (doRedis는 foreach는 백엔드입니다).
여기 내 R 스크립트는 "~ / Rworker.R"입니다
#Define Parameters
require(multicore)
Host <- 'ip_of_doRedis_Server'
cores <- multicore:::detectCores()
TO <- 24*3600
#Start Workers
require('doRedis')
startLocalWorkers(cores,'jobs',host=Host,port=6379, timeout = TO)
나는 명령을 사용하여 명령 행에서이 스크립트를 실행할 수 있습니다 sudo는 R CMD의 BATCH ~ / Rworker.R ~ / RLOG.
다음으로, 나는 R 스크립트를 실행하는 쉘 스크립트라는 제목의 "/etc/init.d/StartWorkers.sh"를 썼다
#!/bin/sh
sudo echo "Starting R workers"
sudo R CMD BATCH ~/Rworker.R ~/RLog
나는 chmod를 + X StartWorkers.sh를 사용하여,이 쉘 스크립트를 실행했다. 내가 ./StartWorkers.sh을 실행하면 모든 것이 잘 작동하고 R 세션이 시작되고 근로자가 풀에 추가됩니다.
지금, 나는 때 부팅 / 재부팅 기계, 그래서 유형을 실행하려면이 쉘 스크립트를 필요 갱신-rc.d의 StartWorkers.sh 기본 설정됩니다. 이 명령은 작업에 나타납니다,하지만 다음과 같은 경고를 얻을 : '갱신-rc.d : 경고 : /etc/init.d/StartWorkers.sh가 누락 LSB 정보'
것을 그러나 rcconf를 확인한다있는 검사는 "StartWorkers.R"는 startuplist에 있습니다.
나는 컴퓨터를 다시 부팅 때, 스크립트가 실행되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 쉘 스크립트는 명령 줄에서 벌금을 실행,하지만 난 시작할 때 그것을 실행하려고하면 실패합니다.
/ 편집 : 좋아, 더크의 대답에 따라, 나는의 littler 설치하고 다음에 'StartWorkers.sh'을 변경 :
#! /usr/bin/r
#Define Parameters
require(multicore)
Host <- 'zachec2.dyndns.org'
cores <- multicore:::detectCores()
TO <- 24*3600
#Start Workers
require('doRedis')
startLocalWorkers(cores,'jobs',host=Host,port=6379, timeout = TO)
하지만 그것을 실행할 때, 나는 다음과 같은 출력을 얻을 :
Loading required package: utils
Loading required package: multicore
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'multicore'
Error in loadNamespace(name) : there is no package called 'multicore'
Calls: ::: ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
나는 멀티 코어 시스템에 설치 한 것을 알고있다!
/ EDIT2 : 지금 내 모든 R의 CD는 / usr / lib 디렉토리 / R / 사이트 라이브러리 패키지와의 littler 쉘 스크립트 작업을 이동했다. 나는 /etc/rc.local에에 스크립트를 추가하고 완벽하게 시작!
해결법
-
==============================
1.이것은 R 질문의 비트와 우분투 sysadmining 질문에 비트입니다. 여기에 몇 가지 포인트가 있습니다 :
이것은 R 질문의 비트와 우분투 sysadmining 질문에 비트입니다. 여기에 몇 가지 포인트가 있습니다 :
도움이 되었기를 바랍니다. 는 R-SIG-데비안 목록이 너무 우분투 / 데비안 팁의 좋은 소스입니다.
from https://stackoverflow.com/questions/6390913/run-an-r-script-at-boot by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] PHP - 레디 스 -를 직렬화없이 레디 스에서 PHP의 객체를 저장할 수있는 방법이 있습니까? (0) | 2020.01.16 |
---|---|
[REDIS] 내 도메인에서 발생한 이벤트에서 RedMQ에서 핸들러를 설정하는 방법 (0) | 2020.01.16 |
[REDIS] 레디 스 serviceStack 풀 연결 클라이언트 (0) | 2020.01.16 |
[REDIS] 레디 스 펍 하위 채널 메모리 (0) | 2020.01.16 |
[REDIS] 레일 + 고정 표시기 + sidekiq + 127.0.0.1:6379에 레디 스에 연결 오류 (errno를 :: ECONNREFUSED) (0) | 2020.01.16 |