การตั้งค่าตัวกำหนดตารางงาน
ขั้นตอนที่ 1) เปิดตัวกำหนดตารางเวลางาน (เริ่ม> ค้นหาตัวกำหนดเวลางาน)
ขั้นตอนที่ 2) คลิก "Action"> "Create Task"
ขั้นตอนที่ 3) เลือก "เรียกใช้เฉพาะเมื่อผู้ใช้เข้าสู่ระบบ" ยกเลิกการเลือก "Run with maximum priveledges" ตั้งชื่องานกำหนดค่าสำหรับ "Windows Vista / Windows Server 2008"
ขั้นตอนที่ 4) ภายใต้แท็บ "ทริกเกอร์" ตั้งค่าว่าคุณต้องการให้สคริปต์ทำงานเมื่อใด
ขั้นตอนที่ 5) ใต้แท็บ "การทำงาน" ให้ใส่ตำแหน่งเต็มของไฟล์ 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 ที่กำหนดเวลาไว้ใน Task Scheduler
เมื่อคุณเรียกใช้สคริปต์โดยใช้ Task Scheduler การแก้ไขปัญหาใด ๆ เป็นเรื่องยากเนื่องจากคุณไม่ได้รับข้อความแสดงข้อผิดพลาดใด ๆ
สิ่งนี้สามารถแก้ไขได้โดยใช้sink()
ฟังก์ชันใน R ซึ่งจะช่วยให้คุณสามารถส่งออกข้อความแสดงข้อผิดพลาดทั้งหมดไปยังไฟล์ที่คุณระบุ นี่คือวิธีที่คุณสามารถทำได้:
# 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
.r