UFO ET IT

R 스크립트 스케줄링

ufoet 2023. 4. 8. 14:25
반응형

R 스크립트 스케줄링

데이터베이스에서 데이터를 가져와 여러 작업을 수행하고 출력을 새 데이터베이스에 게시하는 R 스크립트를 작성했습니다.

이 스크립트를 매일 특정 시간에 실행하고 싶지만 효율적으로 실행할 수 있는 방법을 찾을 수 없습니다.

이 문제를 해결하기 위해 검토할 수 있는 리소스를 추천해 주실 수 있습니까?이 스크립트를 Windows 머신에서 실행하고 있습니다.

실제로 Windows에서는 스케줄러를 사용하기 위해 배치 파일을 먼저 작성할 필요가 없습니다.

  • 스케줄러를 엽니다.START - > 모든 프로그램 - > 악세사리 - > 시스템툴 - > 스케줄러
  • 작업 생성
  • 작업 탭에서 새 작업 생성
  • [프로그램 시작]을 선택합니다.
  • Rscript를 참조합니다.를 들어 다음과 같이 배치해야 합니다.
    Files.2"C\Program Files\R-3.0.2\bin\x64\Rscript.exe"
  • [ Parameters ]필드에 파일명을 입력합니다.
  • [시작 위치] 필드에 스크립트를 찾을 경로를 입력합니다.
  • 트리거 탭으로 이동
  • 새로운 트리거 생성
  • 매일, 매월, ...를 여러 번 반복하거나 원하는 작업을 수행하도록 선택합니다.

가 R이라고 합니다.mytest.rD:\mydocuments\다음 명령어를 포함한 배치파일을 작성할 수 있습니다.

C:\R\R-2.10.1\bin\Rcmd.exe BATCH D:\mydocuments\mytest.r

그런 다음 이를 새 태스크로 Windows 태스크스케줄러에 추가하고 트리거 조건을 설정합니다.

배치 파일을 생략할 수도 있습니다. ★★C:\R\R-2.10.1\bin\Rcmd.exe program/script스케줄러 로서, 「」로 합니다.Arguments번째 부분: " the the the the the the the the the the the the the the the the the the the the 。BATCH D:\mydocuments\mytest.r

Windows 태스크스케줄러를 통한 R 태스크 스케줄링(2015년 2월 11일 게시)

taskscheduleR: Windows 태스크 매니저와 함께 R 스크립트를 스케줄 하는 R 패키지(2016년 3월 17일 게시)

편집

cmd 창을 최소화하고 싶었기 때문에 (다른 방법을 찾을 수 없었기 때문에) 최근에 배치 파일 사용을 다시 채택했습니다.

Actions을 사용하다

Program/script:

cmd.exe

Add arguments (optional):

/c start /min D:\mydocuments\mytest.배트 ^& 종료

my test의 내용.배트:

C:\R\R-3.5.2\bin\x64\Rscript.exe D:\mydocuments\mytest.r 파라미터

RStudio에는 이 작업을 수행하기 위한 옵션이 내장되어 있습니다.스케줄러를 먼저 아래 패키지에 설치합니다.

  install.packages('data.table')
  install.packages('knitr')
  install.packages('miniUI')
  install.packages('shiny')
  install.packages("taskscheduleR", repos = "http://www.datatailor.be/rcube", type = 
  "source")

설치 후 로 이동합니다.

**TOOLS -> ADDINS ->BROWSE ADDINS ->taskscheduleR -> Select it and execute it.**

여기에 이미지 설명 입력

태스크 스케줄러 설정

스텝 1) 태스크스케줄러를 엽니다([Start]> [ search Task Scheduler ] )

순서 2) [Action]> [ Create Task ]을 클릭합니다.

순서 3) [사용자가 로그온 했을 때만 실행]를 선택하고 [권한이 가장 높은 실행]체크박스를 끄고 작업명을 지정하여 [Windows Vista/Windows Server 2008]용으로 설정합니다.

여기에 이미지 설명 입력

스텝 4) [트리거]탭에서 스크립트를 실행할 타이밍을 설정합니다.

스텝 5) [Actions]탭 아래에 Rscript.exe 파일의 완전한 위치를 입력합니다.

"C:\Program Files\R\R-3.6.2\bin\Rscript.exe" (include the quotes)

스크립트 이름 입력 방법-e그리고.source()다음과 같이 포장하는 논쟁에서:

-e "source('C:/location_of_my_script/test.R')"

여기에 이미지 설명 입력

작업 스케줄러에서 스케줄된 Rscript 문제 슈팅

작업 스케줄러를 사용하여 스크립트를 실행하면 오류 메시지가 표시되지 않으므로 문제를 해결하기가 어렵습니다.

이 문제는sink()모든 오류 메시지를 지정한 파일로 출력할 수 있습니다.그 방법은 다음과 같습니다.

# Set up error log ------------------------------------------------------------
error_log <- file("C:/location_of_my_script/error_log.Rout", open="wt")
sink(error_log, type="message")

try({

# insert your code here

})

Rscript를 작동시키기 위해 변경해야 할 다른 사항은 스크립트 내의 모든 파일 경로의 전체 파일 경로를 지정하는 것입니다.

이 작업은 작업 스케줄러에서 작동하지 않습니다.

source("./functions/import_function.R")

Rscript 내에서 소싱할 스크립트의 전체 파일 경로를 지정해야 합니다.

source("C:/location_of_my_script/functions/import_function.R")

또한 R 스크립트에서 참조하고 있는 파일 경로에서 특수 문자를 삭제합니다.예를 들어 다음과 같습니다.

df <- fread("C:/location_of_my_data/file#2342.csv")

실행되지 않을 수 있습니다.대신 다음을 시도해 보십시오.

df <- fread("C:/location_of_my_data/file_2342.csv")

Windows 비밀번호 변경 주의:Windows 비밀번호를 변경하면 작업 스케줄러 스크립트가 일시 중지됩니다.작업을 다시 시작하려면 작업 스케줄러에 다시 로그인하고 암호를 입력해야 합니다.

를 사용하여 작업을 셋업합니다.SCHTASKS프로그램.기동시에 스크립트를 실행하는 경우는, 다음과 같이 기술합니다.

SCHTASKS /Create /SC ONSTART /TN MyProgram /TR "R CMD BATCH --vanilla d:\path\to\script.R"

자세한 내용은 이 웹 사이트를 참조하십시오.SCHTASKS상세한 것에 대하여는, Microsoft 의 Web 사이트를 참조해 주세요.

윈도우즈 작업 스케줄러를 사용할 수 있습니다.

이러한 순서를 조합하면, 다음의 정보가 표시됩니다."Argument Batch Ignored"R.exe 실행 후 오류입니다.이걸 써보세요.제게는 효과가 있었어요.

Windows 작업 스케줄러:

교체하다BATCH "C:\Users\desktop\yourscript.R"[ Arguments ]필드에서

와 함께

CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"

언급URL : https://stackoverflow.com/questions/2793389/scheduling-r-script

반응형