如何调度R脚本

2020年5月11日
通过

这篇文章最初发表于R -开源自动化,并热心捐助188bet app]。(您可以报告关于本页内容的问题金宝搏网址在这里
想在r -blogger上分享你的内容吗?188bet app188bet app 如果你有一个博客,或者在这里如果你不。

时间表[R任务用的TaskScheduler


使用taskscheduleR和cronR运行R

在前一篇文章中,我们讨论了如何去做金宝搏网址从Windows任务计划程序运行R.。本文将讨论两个额外的方法来安排 - [R脚本金宝搏网址,包括使用taskscheduleR封装在Windows和cronR打包Linux的。为调度Python代码,看看这个帖子

附表[R脚本用的TaskScheduler

让我们安装taskscheduleR使用install.packages命令。

install.packages( “的TaskScheduler”)

接下来,我们只需要加载包就可以开始了。

库(的TaskScheduler)

创建样品R脚本来自动运行

在进行任何调度之前,我们需要首先创建一个脚本。我们将把下面的代码保存在一个名为“create_file.txt”的文件中。这个脚本将随机生成一个整数集合,并将它们写到一个文件中。

NUMS < - 样品(10000,100)写(NUMS “sample_nums.txt”)

使用taskscheduler_create函数

接下来,为了调度脚本自动运行,我们需要使用taskscheduler_create功能。这个函数有几个参数,这些参数可以看到下面。

taskscheduler_create(TASKNAME = “test_run”,RSCRIPT = “/path/to/file/create_file.R”,进度= “一次”,开始时间=格式(Sys.time()+ 50, “%H:%M”))

首先,我们需要给一个名字,我们要创建的任务。在这种情况下,我们只需拨打我们的任务“test_run”。接下来,我们需要指定我们想将R脚本来自动运行。第三,我们加入时间表参数,表示我们希望运行此脚本的频率。这里有几个选项,包括每周、每天、每月、每小时和每分钟。例如,如果我们想让我们的脚本每天运行,我们会这样修改我们的函数调用:

taskscheduler_create(TASKNAME = “test_run”,RSCRIPT = “/path/to/file/create_file.R”,进度= “DAILY”,开始时间=格式(Sys.time()+ 50, “%H:%M”))

我们需要选择的另一个参数是启动时间。在我们的示例中,我们将任务设置为从当前时间开始50秒。

除了这些论点外,taskscheduler_create还有一个名为“modifier”的参数。这允许我们修改调度频率。例如,如果我们想每两小时运行一次任务,该怎么办?在本例中,我们只需设置modifier = 2。

taskscheduler_create(taskname = "test_run", rscript = "/path/to/file/create_file ")。[R", schedule = "HOURLY", starttime = format(Sys.time() + 50, "%H:%M"), modifier = 2)

类似地,我们可以使用下面的代码每10分钟运行一次脚本,修改符为10。

taskscheduler_create(TASKNAME = “test_run”,RSCRIPT = “/path/to/file/create_file.R”,进度= “分”,开始时间=格式(Sys.time()+ 50, “%H:%M”),改性剂= 10)

向任务调度程序传递参数

我们可以通过使用“rscript_args”参数的参数给定的任务。

taskscheduler_create(TASKNAME = “test_run”,RSCRIPT = “/path/to/file/create_file.R”,进度= “分”,开始时间=格式(Sys.time()+ 50, “%H:%M”),modifier = 10, rscript_args = c("10", "test", "this"))

列出调度程序中的任务

如果我们想看看所有的任务计划中的任务,目前?有应该是一个快速的方法称为taskscheduler_ls

taskscheduler_ls ()

运行该函数返回的当前任务调度的所有任务的数据帧。

从调度删除任务

任务可以使用的调度程序被删除taskscheduler_delete功能。我们只需要输入任务的名称。

taskscheduler_delete (“test_run”)

停止任务

类似地,任务也可以通过单个函数调用停止。这一次,我们将使用taskscheduler_stop功能。

taskscheduler_stop (“test_run”)

在Linux上调度任务

如果你正在运行在Linux上,还有另一种名为包cronR可以使用。要在Linux上使用这个包,我们需要使用以下命令来安装它devtools下面,就像。

devtools :: install_github( “bnosac / cronR”)

此外,cron守护程序必须运行正常的包装工作。在Debian,您可以通过运行以下命令确保这一点:

sudo易于得到更新sudo易于得到安装-y的cron须藤的cron启动

在Linux上调度脚本

安装完成后,我们可以开始创建任务。在这个例子中,我们创建一个每天运行,从上午9点的任务。

cron_add(command = cmd, frequency = 'daily', at = "9:00", id = 'test_linux_run', description = "testing linux scheduler")

要更改时间,我们只需要调整“at”参数。下面的示例每天在3:00 PM(15:00)自动运行相同的脚本。

cron_add(命令= CMD,频率= '每日',在= “15:00”,ID = 'test_linux_run',描述= “测试Linux调度”)

下一个示例每30分钟运行相同的任务。

cron_add(command = cmd, frequency = '/30 * * * *', at = "15:00", id = 'test_linux_run', description = "testing linux scheduler")

传递参数给cronR

运行命令行参数的R脚本是一个共同的需要。这可以被处理cronR用在了“rscript_args”参数cron_rscript功能。

CMD < -  cron_rscript( “/路径/到/文件/ create_file.R”,rscript_args = C( “10”, “测试”, “这”))cron_add(命令= CMD,频率=“/ 30 * * * *”,在= “15:00”,ID = 'test_linux_run',描述= “测试Linux调度”)

运行在每周的特定日期cron作业

它也可以选择你想要一个作业运行什么星期几。举例来说,如果我们希望在作业每小时运行,但仅在一周的某几天,我们可以指定象下面这样。

cron_add(命令= CMD,频率= '每小时',在= “15:00”,ID = 'test_linux_run',描述= “测试Linux调度”,DAYS_OF_WEEK = C(0,3))

运行在每月的特定日期cron作业

类似地,我们还可以选择运行作业的月份的天数。

cron_add(command = cmd, frequency = 'hour ', at = "15:00", id = 'test_linux_run', description = "testing linux scheduler", days_of_month = c(10,20,30))

列出所有的Linux任务

cronR可以列出所有计划的Linux作业吗cron_ls功能。

cron_ls()

结论

如果你喜欢这个职位,一定要与他人分享,或按照我的Twitter博客!请查看此链接,以了解如何从任务调度程序运行Python

taskscheduleRcronR也可以与RStudio外接程序一起使用。了解更多关于金宝搏网址taskscheduleR在这里,cronR通过点击这里

如何调度R脚本第一次出现在开源的自动化

留下你的评论对于作者,请按照自己的博客上的链接和评论:R -开源自动化

188bet appR-bloggers.com报价每日电子邮件更新金宝搏网址 [R新闻和教程金宝搏网址金宝搏网址 和许多其他议题。点击这里,如果你正在寻找张贴或找到一个R /数据科学工作
想在r -blogger上分享你的内容吗?188bet app188bet app 如果你有一个博客,或者在这里如果你不。



如果你走到这一步,为什么不订阅更新从网站?选择你的味道:电子邮件推特1188bet app, 要么脸谱网...

评论都关门了。

搜索R-博客188bet app

赞助商

决不会错过的更新!
订阅R-bloggers188bet app接收
带有最新帖子的电子邮件。
(您将不会再看到此消息。)

点击此处关闭(此弹出窗口将不会再次出现)