【问题标题】:How to schedule taskscheduleR once a month at the start of every month?如何在每个月初安排一次taskscheduleR?
【发布时间】:2021-08-21 16:03:50
【问题描述】:

希望每个月的第一天运行一次 R 脚本。我已经弄清楚了如何通过任务调度程序和 taskscheduleR 库来运行它。这是我设置的当前节奏:

taskscheduler_create(taskname = "Rebate Automation2", rscript = myscript, 
                     schedule = "MONTHLY", starttime = "12:30")

我不确定如何设置每个月的第一天。

【问题讨论】:

    标签: r taskscheduler


    【解决方案1】:

    来自包文档:

    days     character string with days on which to run the script if schedule is
    ’WEEKLY’or ’MONTHLY’. Possible values are * (all days). For weekly: ’MON’,
    ’TUE’,’WED’, ’THU’, ’FRI’, ’SAT’, ’SUN’ or a vector of these in your locale. 
    For monthly: 1:31 or a vector of these.
    

    因此taskscheduler_create(taskname = "Rebate Automation2", rscript = myscript, schedule = "MONTHLY", days=1, starttime = "12:30")

    应该做的工作。

    【讨论】:

      【解决方案2】:

      taskscheduleR::taskscheduler_create 的文档可以通过按 F1 并单击函数调用 taskscheduler_create 找到 (1);或 (2) 在manual 的第 3 页和第 4 页上。根据本文档,days 参数

      taskscheduler_create(
        ...
        days = c("*", "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN", 1:31),
        ...
      )
      

      可以将schedule = "MONTHLY"设置为days = 1,在每个月的第一天触发:

      如果 schedule 是 'WEEKLY' 则包含运行脚本的日期的字符串 或“每月”。可能的值为 *(所有天)。每周:'MON','TUE', 'WED'、'THU'、'FRI'、'SAT'、'SUN' 或您所在地区的这些向量。为了 每月:1:31 或其中的一个向量。

      所以你想使用

      taskscheduler_create(taskname = "Rebate Automation2", rscript = myscript, 
                           schedule = "MONTHLY", days = 1, starttime = "12:30")
      #                                          ^^^^^^^^
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-15
        相关资源
        最近更新 更多