Oliver Wilms · Aug 19, 2020

How can I add an application server to ECP client list in code?

I was able to define ECP connection in Installer class that I run when I build docker image for my Docker IRIS application. Now I start to use Amazon ECS and Autoscaling. When a new instance is created and it runs the IRIS container, I want it to "register" as an Application server on the remote database server. What code can I execute to add an ip address as an Application Server?

0 251
Discussion (2)2
Log in or sign up to continue

@Oliver Wilms 
#1) make  sure your ECP Server is willing to accept ECP AplicationServers: 

#2) on your Application Server define your Data Server

%SYS>set Name="MainServer"
%SYS>set Properties("Address")="" 
%SYS>set Properties("Port")=1972
%SYS>s Status=##Class(Config.ECPServers).Create(Name,.Properties)
%SYS>zw Status

see docs: class Config.ECPServers

#3) connect to your Data Server

%SYS>set ecpstate=##class(SYS.ECP).GetServerConnState(Name)
%SYS>zw ecpstate
ecpstate=1      ;; Not Connected
%SYS>set tSC=##class(SYS.ECP).ServerAction(Name,3)   ;; 3 -  Change to Normal
 %SYS>zw tSC
%SYS>set ecpstate3=##CLASS(SYS.ECP).GetServerConnState(Name)
%SYS>ZW ecpstate3
ecpstate3=5   ;; 5 - Normal

see docs: class SYS.ECP

#4) now in SMP:

Thank you very much, Robert :-)