我的代码在我的多处理器本地计算机上使用SAS Connect(SMP)在本地计算机的不同处理器上并行运行类似但独立的代码。这一直运行到昨天,但现在似乎有一个问题,因为它抛出以下错误。
“通信子系统合作伙伴链接设置请求失败”
我的代码中没有改变任何内容。不要认为这是许可证到期的问题,因为我最近买了它...你能帮我解决..
我正在运行的代码是
options autosignon sascmd = "!sascmd";
%macro test(n); %do r =1 to &n.;
signon task&r.;
rsubmit task&r. persist = yes wait = no sysrputsync = yes;
Remaining code....
endrsubmit..
%end;
%mend test();
%test(100);
答案 0 :(得分:0)
不确定你的rsubmits之间发生了什么,但如果在我们的sas网站上进行了测试,这里有一个变种。我添加了一个waitfor all 并签署 all 以确保所有线程都在主程序结束之前运行并完成。此外,请务必重新启动'如果它在后台运行,你就是服务。例如,100个线程在4个处理器上同时执行很多操作,因此我将其从100降低到5.此外,尝试关闭sas以及计算机上剩余的任何sas进程。如果需要,重新启动。通信伙伴链接通常是启动sas进程的tcp错误或连接错误。您也可以检查防火墙,暂时禁用它们以查看是否有帮助。
options autosignon sascmd = "!sascmd";
%macro test(n);
%do r=1 %to &n.;
signon task&r.;
rsubmit task&r. persist = yes wait = no sysrputsync = yes;
data test;
a= 5;
put a=;
run;
endrsubmit;
%end;
waitfor _all_;
signoff _all_;
%mend;
%test (5);