当前位置: 首页 > 知识库问答 >
问题:

使用不在任务调度程序环境中的变量

巫马自明
2023-03-14

我正在创建一个Rscript,它将通过taskscheduleR包每30分钟运行一次。然而,有些变量需要每30分钟更新一次,有些变量每周只需更新一次。我希望每周日程安排中的变量仍然在全局环境中。例如

#Define a variable x that gets run once per week.
x = 10

#Define a variable y that gets run every thirty minutes. 
y = x*5
print(y)

似乎我可能需要2个脚本,其中第一个脚本将数据写入csv,然后在每30分钟运行的脚本上读取它。我想知道是否有一种方法可以在一个脚本上完成所有这些工作,谢谢。

#script_OnceAweek.R
x = 1:10
write.csv(x, "file.csv")

#script_Every30min.R
k = read.csv("file.csv")
y = k*5

共有2个答案

冯嘉珍
2023-03-14

据我所知,没有办法区分同一文件中某些行的执行时间,因为您为每个应该运行的文件安排任务。

但是我也许可以让不同文件之间的数据交换更容易一点。

当您只有一个要在脚本之间交换的数据对象时:

#script_OnceAweek.R
x = 1:10
saveRDS(x, file = "file.csv")

#script_Every30min.R
k = readRDS("file.csv")
y = k*5

如果您有多个数据对象:

#script_OnceAweek.R
x = 1:10
y = 4:6
save(x, y, file = "file.csv")

#script_Every30min.R
load("file.csv")
k = x
y = k*5

第一个解决方案将保存到. RDS文件,第二个将保存到。Rdata文件。

这样做的好处是您可以保存所有R数据类型并将它们加载为R数据类型。这意味着您甚至可以保存例如数据帧列表之类的对象

当你使用csv时,它会变得非常复杂。

欧阳骏俊
2023-03-14

您可以使用 if 语句检查您多久前先更新了每周 CSV。您可以使用 file.infoSys.time

信息

如果是一周前,更新它,如果不是,跳过这一步。

 类似资料:
  • 我们的(Spring)应用程序包含几个,这些调度器在夜间活动,以更改/更新中的一些数据(来自 )。 这一切都运行良好,问题是我们的应用程序很快就会在运行。 防止< code >实例A和< code >实例B的< code >调度程序同时执行相同工作的最佳选项是什么? **UPDATE** 群集环境设置为。 每个节点都与自己的数据库实例通信。每个数据库实例将数据复制到其他实例。 DB-实例不是设置为

  • 我有以下脚本,如果手动执行,它可以正常工作,但如果在任务计划程序中设置为任务,则不起作用,我怀疑这是一个未正确设置的参数,但我希望有人可以帮助我解决这个谜语 我强调了不工作的那一点,文件夹设置正确,但是java部分无法在任务调度器中执行,但是正如我所说的,手动是没问题的。谢谢你的时间

  • 我正在设计一个应用程序,它有一个经常性的任务,即只要应用程序处于前台,就可以将状态发送到一个专用服务器。 在我的网上搜索中,我看到了几种不同的方法,我想知道什么是最好的方法。 安排服务器调用的最佳方法是什么? 我看到的选项是: > 定时器。 ScheduledThreadPoolExecutor. 服务。 带有AlarmManager的BroadcastReciever。 你的意见呢? 编辑: 我

  • 我正在尝试创建计划任务以运行批处理文件。我知道我的批处理文件运行良好,因为手动运行它没有问题。但是,当任务调用它时,它会说它正在运行,但它不是。我知道它没有运行的原因是它调用了一个python脚本,python脚本发送了一封电子邮件,告诉我进程已经开始了。我没有收到那封电子邮件。python进程不会花费太长的时间(最多5分钟),而且任务一直说它在一小时后“运行”。 我有当前设置与运行用户是否登录或

  • (gdb) u 309 Warning: couldn't activate thread debugging using libthread_db: Cannot find new threads: generic error Warning: couldn't activate thread debugging using libthread_db: Cannot find new threa

  • 问题内容: 我一直在阅读官方文档,但无法找到有关环境变量的任何信息。显然,有一些社区项目支持环境变量,但这对我来说可能是过大了。所以我想知道在使用Vue CLI创建的项目上是否有一些简单的开箱即用的功能可以正常工作。 例如,我可以看到,如果执行以下操作,则会打印出正确的环境,这意味着已经设置好了吗? 我对环境变量和Node有点陌生。 仅供参考,使用Vue CLI 3.0 beta版。 问题答案: