Hi everyone,
I've been scratching my head over this one for a while and can't find any related topics so am reaching out...
My code is simple:
filename crt pipe "cd /my/file/path;mkdir yymon";
data _null_;
infile crt;
input;
run;
/****THIS IS WHERE IT STICKS*****/
filename logpath "/my/file/path/yymon/log.log";
proc printto log= logpath;
run;
My log is below...
443 filename crt pipe "cd /my/file/path;mkdir yymon";
444
445 data _null_;
446 infile crt;
447 input;
448 run;
NOTE: The infile CRT is:
Pipe command="cd /my/file/path;mkdir yymon"
NOTE: 1 record was read from the infile CRT.
The minimum record length was 52.
The maximum record length was 52.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
6 The SAS System 12:29 Wednesday, December 5, 2018
/********IT PAUSES HERE FOR OVER FIVE HOURS***********/
449
450 filename logpath "/my/file/path/yymon/log.log";
451
452 proc printto log= logpath;
453 run;
When I just run the code manually, it runs immediately, but when we call it through tivoli and is run through sasbatch it takes hours which is causing issues. It does eventually go on to complete without error...
Tivoli is my business' chosen way of automation and is the only way that is supported so changing the automation mechanism isn't an option unfortunately - has anyone come across anything similar before?
Tanks in advance!!
You would need to speak with the guys responsible for this Tivoli product. I note from the wiki page that Tivoli was phased out between 2013 and 2016, so maybe that has something to do with it. Anyways, its likely the interaction between the two systems which can't be dugged here.
Thanks for the response 🙂
MPRINT(CEMAIL): ;
MPRINT(WASITBATCH): ;
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
real time 5:29:30.50
cpu time 1:46:57.21
The log shows that an email was sent as notification of completion and then this follows...
You have almost 2 hours of CPU time, so the job didn't just sleep for 5 hours. The difference between CPU and real time is ~3:45.
Thanks again for a response, appreciate its not the whole five hours doing nothing but 3 hours 45 mins could still be avoided when run manually - manually is not an option though unfortunately.
If you have a noticeable stoppage right before this:
449 450 filename logpath "/my/file/path/yymon/log.log"; 451 452 proc printto log= logpath; 453 run;
and the code before and after that runs with the usual speed, it might be that your path for the log file points to a network resource that is temporary unavailable, but becomes available before a specified timeout is reached. That could also cause programs to go on "hold".
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.