sas-eg中程序的延迟启动

jmo0nnb3  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(635)

目前,我每天早上都在运行一个程序,因为我在开发它,所以我可以使用今天的数据,我的问题是,它确实需要一些时间来运行。我想知道是否有人知道一些我可以写的代码,当我点击run时,它会等到一个特定的时间开始。目前,我正在考虑在顶部添加一个循环来尝试这样做:
例如

%macro delay();
    data _null_;
         if %sysdate() >= 8:00 then %put Start;
         else %delay();
    run;
%mend;

请原谅,我写的是粗劣的代码,我是在没有sas的情况下做的。另外,我不想使用任何像t-sql这样的sql服务器。
从本质上说,创建一个无限循环是否有害?

izkcnapc

izkcnapc1#

函数的作用是:使sas会话休眠到指定的时间。还有一个sleep()函数。wakeup()接受日期时间或时间。从文档中:
在约会时间醒来:

data _null_;
   slept=wakeup('01JAN2004:13:00:00'dt);
run;

每次醒来:

data _null_;
   slept=wakeup("22:00:00"t);
run;

这应该比无限循环使用更少的cpu资源。

相关问题