تأخر بدء البرنامج في SAS EG

1

أقوم حاليًا بتشغيل برنامج كل صباح أثناء تطويره حتى أتمكن من استخدام بيانات اليوم لأن مشكلتي هي أن الأمر يستغرق بعض الوقت للتشغيل. كنت أتساءل عما إذا كان أي شخص يعرف بعض التعليمات البرمجية يمكنني الكتابة بحيث عندما أقوم بالنقر فوق تشغيل ، سينتظر حتى وقت محدد للبدء. كنت أفكر حاليًا في إضافة حلقة في الأعلى لمحاولة القيام بذلك:

على سبيل المثال

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

عذراً على كتابة التعليمات البرمجية الرديئة ، كان يفعل ذلك بدون SAS. كما أنني لا أريد استخدام أي خوادم SQL مثل T-SQL.

هل صنع حلقة لا نهائية سيكون ضارًا على أي حال؟

1 إجابة

3
افضل جواب

يمكن أن تتسبب وظيفة WAKEUP () في نوم جلسة SAS حتى وقت محدد. هناك أيضًا دالة SLEEP (). يقبل WAKEUP () التاريخ أو الوقت. من المستندات:

WAKEUP في موعد:

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

الاستيقاظ في كل مرة:

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

يجب أن يستخدم هذا موارد CPU أقل من حلقة لا نهائية.

:مؤلف
فوق
قائمة طعام