BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
JordiGC
Obsidian | Level 7

Hello everyone:

 

I'm preparing a script so execute several tasks in parallel on one server. My first step is to execute the following code:

 

signon mySess sascmd="!sascmd";
rsubmit mySess;
	data test;
		x = 1;
	run;
endrsubmit;
signoff mySess;

When I do, I get the following log (everythin is OK).

83   signon mySess sascmd="!sascmd";
NOTE: Remote signon to MYSESS commencing (SAS Release V.03.05M0P111119).
NOTE: Copyright (c) 2016 by SAS Institute Inc., Cary, NC, USA. 
NOTE: SAS (r) Proprietary Software V.03.05 (TS5M0 MBCS3170) 
      Licensed to EGP- SAS X ADVANCED ANALYTICS / ESP ON VIYA, Site 70237841.
NOTE: This session is executing on the Linux 3.10.0-1160.15.2.el7.x86_64 (LIN X64) platform.
NOTE: Analytical products:
      
      SAS/STAT 15.1
      SAS/ETS 15.1
      SAS/OR 15.1
      SAS/IML 15.1
NOTE: Additional host information:
 Linux LIN X64 3.10.0-1160.15.2.el7.x86_64 #1 SMP Thu Jan 21 16:15:07 EST 2021 x86_64 Red Hat Enterprise Linux Server release 7.9 
      (Maipo) 
NOTE: SAS initialization used:
      real time           0.04 seconds
      cpu time            0.04 seconds
      
NOTE: AUTOEXEC processing beginning; file is /opt/sas/viya/config/etc/compsrv/default/autoexec.sas.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.00 seconds
      
NOTE: AUTOEXEC processing completed.
NOTE: Remote signon to MYSESS complete.
84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
2     data test;
3      x = 1;
4     run;
NOTE: The data set WORK.TEST has 1 observations and 1 variables.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.01 seconds
      
NOTE: Remote submit to MYSESS complete.
85   signoff mySess;
NOTE: Remote signoff from MYSESS commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.05 seconds
      cpu time            0.05 seconds
      
NOTE: Remote signoff from MYSESS complete.
86   
87   %studio_hide_wrapper;
98   
99   

Now I add a libname statement in order to access to tables in it (this lib exists and I use it in other scritps):

signon mySess sascmd="!sascmd";
rsubmit mySess;
	libname emibal cas caslib=BAL_EMISIONES;
	data test;
		x = 1;
	run;
endrsubmit;
signoff mySess;

and I get the following message in the log (I omit the first part because it's the same):

 

84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
1     libname emibal cas caslib=BAL_EMISIONES;
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
ERROR: Error in the LIBNAME statement.
2     data test;
3      x = 1;
4     run;
NOTE: The data set WORK.TEST has 1 observations and 1 variables.
NOTE: DATA statement ha utilizado (Tiempo de proceso total):
      real time           0.00 seconds
      cpu time            0.00 seconds
      
NOTE: Remote submit to MYSESS complete.
85   signoff mySess;
NOTE: Remote signoff from MYSESS commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.13 seconds
      cpu time            0.07 seconds
      
NOTE: Remote signoff from MYSESS complete.
86   
87   %studio_hide_wrapper;
98   
99   

I am not still accessing any data in that lib, but I already get an error. Do you know why this might be happening?

 

Thanks.

 

1 ACCEPTED SOLUTION

Accepted Solutions
JordiGC
Obsidian | Level 7

I eventually managed to solve the problem myself by opening a new cas session in every rsubmit. I attach some code as an example.

 

signon mySess1 sascmd="!sascmd" signonwait=no;
signon mySess2 sascmd="!sascmd" signonwait=no;

rsubmit mySess1 wait=no;
	cas Sess1 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask1;
	data emibal.multitask1;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask1" casout="multitask1";
	run;
endrsubmit;

rsubmit mySess2 wait=no;
	cas Sess2 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask2;
	data emibal.multitask2;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask2" casout="multitask2";
	run;
endrsubmit;

waitfor _all_ mySess1 mySess2;

signon mySess3 sascmd="!sascmd" signonwait=no;
rsubmit mySess3 wait=no;
	cas General host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask3;
	data emibal.multitask3;
		set emibal.multitask1 emibal.multitask2;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask3" casout="multitask3";
	run;
endrsubmit;

signoff _all_;

View solution in original post

3 REPLIES 3
JOL
SAS Employee JOL
SAS Employee

Try adding the following before the libname statement:

cas mySess sessopts=(caslib=BAL_EMISONES);

 

If this does not work, reach out to technical support.

Technical Support | SAS  

JordiGC
Obsidian | Level 7

Thanks JOL for your message. Unfortunatelly it didn't work. Now I get the same message for both lines:

 

NOTE: Remote signon to MYSESS complete.
84   rsubmit mySess;
NOTE: Remote submit to MYSESS commencing.
1     cas mySess sessopts=(caslib=BAL_EMISIONES);
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
2     libname emibal cas caslib=BAL_EMISIONES;
ERROR: The request to start or connect to a session failed. Specify a UUID to connect to an existing session or specify a session 
       name, port and host name to start a session.
ERROR: Error in the LIBNAME statement.

I'm reaching out for the technical service. 

JordiGC
Obsidian | Level 7

I eventually managed to solve the problem myself by opening a new cas session in every rsubmit. I attach some code as an example.

 

signon mySess1 sascmd="!sascmd" signonwait=no;
signon mySess2 sascmd="!sascmd" signonwait=no;

rsubmit mySess1 wait=no;
	cas Sess1 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask1;
	data emibal.multitask1;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask1" casout="multitask1";
	run;
endrsubmit;

rsubmit mySess2 wait=no;
	cas Sess2 host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask2;
	data emibal.multitask2;
		x = 1;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask2" casout="multitask2";
	run;
endrsubmit;

waitfor _all_ mySess1 mySess2;

signon mySess3 sascmd="!sascmd" signonwait=no;
rsubmit mySess3 wait=no;
	cas General host='myserver' port=myport;
	libname emibal cas caslib=BAL_EMISIONES;
	proc delete data=emibal.multitask3;
	data emibal.multitask3;
		set emibal.multitask1 emibal.multitask2;
	run;
	proc casutil incaslib="bal_emisiones" outcaslib="bal_emisiones";
		promote casdata="multitask3" casout="multitask3";
	run;
endrsubmit;

signoff _all_;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 477 views
  • 0 likes
  • 2 in conversation