Saya telah menulis skrip R yang menarik beberapa data dari database, melakukan beberapa operasi di atasnya dan memposting hasilnya ke database baru.
Saya ingin skrip ini dijalankan setiap hari pada waktu tertentu tetapi saya tidak dapat menemukan cara untuk melakukannya secara efektif.
Adakah yang bisa merekomendasikan sumber daya yang dapat saya lihat untuk mengatasi masalah ini? Saya menjalankan skrip ini di mesin Windows.
.R
dan BUKAN.r
.Misalkan skrip R Anda
mytest.r
, terletak diD:\mydocuments\
, Anda dapat membuat file batch termasuk perintah berikut:Kemudian tambahkan, sebagai tugas baru, ke penjadwal tugas windows, atur di sana kondisi pemicu.
Anda juga bisa menghilangkan file batch. Atur
C:\R\R-2.10.1\bin\Rcmd.exe
diprogram/script
kotak teks di penjadwal tugas, dan berikan sebagaiArguments
perintah awal lainnya:BATCH D:\mydocuments\mytest.r
Menjadwalkan R Tugas melalui Penjadwal Tugas Windows (Dikirim pada 11 Februari 2015)
TaskcheduleR: Paket R untuk menjadwalkan skrip R dengan pengelola tugas Windows (Dikirim pada 17 Maret 2016)
EDIT
Saya baru-baru ini mengadopsi penggunaan file batch lagi, karena saya ingin jendela cmd diminimalkan (saya tidak dapat menemukan cara lain).
Secara khusus, saya mengisi
Actions
tab penjadwal tugas windows sebagai berikut:Program/script:
cmd.exe
Add arguments (optional):
/ c start / min D: \ mydocuments \ mytest.bat ^ & keluar
Isi mytest.bat :
C: \ R \ R-3.5.2 \ bin \ x64 \ Rscript.exe D: \ mydocuments \ mytest.r params
sumber
Rscript
disukai menggunakanR BATCH
. Sistem yang dapat membedakan antara huruf kecil dan huruf besarr
juga berhasil.Sekarang ada opsi bawaan di RStudio untuk melakukan ini, untuk menjalankan penjadwal instal terlebih dahulu paket di bawah ini
Setelah menginstal, buka
sumber
Saya mengatur tugas saya melalui
SCHTASKS
program. Untuk menjalankan skrip saat permulaan, Anda akan menulis sesuatu di sepanjang barisLihat situs web ini untuk detail lebih lanjut tentang
SCHTASKS
. Detail selengkapnya ada di situs web Microsoft .sumber
Anda dapat menggunakan Penjadwal Tugas Windows .
sumber
Menyiapkan penjadwal tugas
Langkah 1) Buka penjadwal tugas (Mulai> cari Penjadwal Tugas)
Langkah 2) Klik "Tindakan"> "Buat Tugas"
Langkah 3) Pilih "Jalankan hanya saat pengguna masuk", hapus centang "Jalankan dengan harga tertinggi", beri nama tugas Anda, konfigurasikan untuk "Windows Vista / Windows Server 2008"
Langkah 4) Di bawah tab "Pemicu", tetapkan kapan Anda ingin skrip dijalankan
Langkah 5) Di bawah tab "Actions", letakkan lokasi lengkap file Rscript.exe, yaitu
Letakkan nama skrip Anda dengan
-e
dansource()
dalam argumen yang membungkusnya seperti ini:Memecahkan masalah Rscript yang dijadwalkan di Penjadwal Tugas
Saat Anda menjalankan skrip menggunakan Penjadwal Tugas, sulit untuk memecahkan masalah apa pun karena Anda tidak mendapatkan pesan kesalahan apa pun.
Ini dapat diatasi dengan menggunakan
sink()
fungsi di R yang memungkinkan Anda untuk menampilkan semua pesan kesalahan ke file yang Anda tentukan. Inilah cara Anda melakukan ini:Hal lain yang harus Anda ubah agar Rscript Anda berfungsi adalah menentukan jalur file lengkap dari jalur file apa pun dalam skrip Anda.
Ini tidak akan berfungsi di penjadwal tugas:
Anda perlu menentukan jalur file lengkap dari setiap skrip yang Anda cari dalam Rscript Anda:
sumber
Setelah mengikuti salah satu kombinasi dari langkah-langkah ini dan Anda menerima file
"Argument Batch Ignored"
kesalahan setelah R.exe berjalan, coba ini, ini berhasil untuk saya.Di Penjadwal Tugas Windows:
Ganti
BATCH "C:\Users\desktop\yourscript.R"
di bidang argumendengan
CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"
sumber