04-25-2017 04:30 PM
I have EG 4.2 projects that have some not so complex process flow. It is mostly to sync programs from different SAS servers we have in the company. I've been trying to automate those programs without the scheduler, since our computers disconnect from the servers after some time. I've been using the nohup to fix this. In order to sync the sas programs, I have them send an "ok" table via FTP so that the other program can start, but this seems rather sloppy.
I assume that the EG acts like an IDE would and send commands to the SAS server like the IDE sends to the compiler and creates all the links and compiles all the other codes and execute the main file. How does the EG translates a process flow to base sas? What would be the best way to do something like this?
Thanks for the help!
04-25-2017 06:55 PM
EG only sends SAS code to the SAS server.
All the programs and the links between them are in the EG project, which is read on your PC by your EG session. The server knows nothing about them until EG sends code to run on the server.
Does this make sense?
04-25-2017 06:58 PM
Yes, it does
I get that, the problem is that the connection to the SAS server can be lost. The EG has some logic to make the sync and order of the process flow to work. I'd like to emulate that without the EG, I'd like to send a nohup command directly to the SAS server to avoid losing that connection
04-25-2017 07:09 PM
> the problem is that the connection to the SAS server can be lost.
It shouldn't. Solve the underlying network issue.
> EG has some logic to make the sync and order of the process flow to work. I'd like to emulate that without the EG, I'd like to send a nohup command directly to the SAS server to avoid losing that connection
EG interacts with SAS servers via the SAS Integrated Object Model (IOM), a proprietary SAS communication protocol. You'll need a way to make the server (and EG) think that the line is up when it isn't. Not really an option imho.
04-25-2017 07:09 PM
SAS is a scripting language and there is no compile/link. EG just sends SAS code to the server for execution. The SAS server then compiles the script at run time (so it's "interpreted").
With EG under File/Export you can export all the code to a .sas file (a file containing SAS script). Move this generated code to the server and then schedule it server side like you would do with any other script.
04-26-2017 01:36 PM
I've just tried the export code solution, but it does not change servers, it runs all the codes on a single server (the one from the first code).