go to post Oliver Wilms · Aug 24, 2022 Is the private key file "id_rsa" or "p_id_rsa"? Are the key files in "/path/to/" directory?
go to post Oliver Wilms · Aug 24, 2022 I think you got the methods reversed. To connect using the key pair you should use this method: set sc = ssh.AuthenticateWithKeyPair("sftpuser","/path/to/id_rsa.pub","/path/to/p_id_rsa","") I have tested this and it works
go to post Oliver Wilms · Aug 12, 2022 It appears to me that User.Person class does NOT have Age property
go to post Oliver Wilms · Jul 10, 2022 I just realized this only happens on my work laptop. Maybe some browser restriction
go to post Oliver Wilms · Jul 1, 2022 I have tried using getProductionItems() using this code: ClassMethod GetProductionItems(pProd As %String,pDefinition As %String,pAutoAdd As %String) As %Status{Set tSC = $$$OKIf ($Get(pProd) = "") {Set pProd = ##class(Ens.Director).GetActiveProductionName()}Set tProduction = ##class(Ens.Config.Production).%OpenId(pProd)Set tSC = ##class(Ens.Director).getProductionItems(tProduction,.pDefinition,.pAutoAdd)ZWQuit tSC}
go to post Oliver Wilms · Jul 1, 2022 Interesting question. I looked in Documentation and found a CreateDocumentation classMethod. I tried to test it with this code. I got an error in my Production. Let me know if this helps you. I will look at getProductionItems() next... ClassMethod CreateDocumentation(pProduction As %String = "",pIntro As %Boolean = 1,pFormat As %String,Output LogFileName As %String,Output URL As %String,Output BookName As %String,PDFFileName As %String,PDFRenderer As %String,ByRef Params As %String,pAllSettings As %Boolean = 0) As %Status{Set tSC = $$$OKIf (pProduction = "") {Set pProduction = ##class(Ens.Director).GetActiveProductionName()}Try {Set tSC = ##class(%SYS.Ensemble).CreateDocumentation(pProduction,pIntro,$G(pFormat),.LogFileName,.URL,.BookName,$G(PDFFileName),$G(PDFRenderer),.Params,pAllSettings)} Catch {Set tSC = ##class(%SYS.Ensemble).CreateDocumentation(pProduction,pIntro,$G(pFormat),.LogFileName,.URL,.BookName,$G(PDFFileName),$G(PDFRenderer),.Params)}Do $System.Status.DisplayError(tSC)ZWQuit tSC}
go to post Oliver Wilms · Jun 28, 2022 Hello, Sathish, I recently published test-data app that utilizes a shell script to create a test file: InterSystems Open Exchange facture.cls defines the parameters for the RunScript classmethod. ClassMethod DefineProductScript( pName As %String = "Demo2", pDebug As %Integer = 0) As %Status { Set pQuery = "SELECT ID from dc_iris.product WHERE Name = '?'" Set pQuery = $Replace(pQuery,"?",pName) Write:pDebug pQuery,! Set tSC = ##class(dc.iris.util).ExecuteQueryOneValue(pQuery,.oProduct) Write:pDebug tSC,! Set oProduct = ##class(dc.iris.product).%OpenId(oProduct) If ($IsObject(oProduct) = 0) Set oProduct = ##class(dc.iris.product).%New() Do:pDebug $System.OBJ.Dump(oProduct) Set oProduct.ClassName = "dc.iris.product" Set oProduct.MethodName = "RunScript" Set oProduct.RunCmd = "/opt/irisbuild/demo.sh" Set pRandom = "random" Set pOutput = "/opt/transform/practice/" Set pTemplate = "/usr/irissys/mgr/data/" Set oProduct.RunParam1 = "$Qty" Set oProduct.RunParam2 = pRandom Set oProduct.RunParam3 = pOutput Set oProduct.RunParam4 = pTemplate Set oProduct.Name = pName //Set oProduct.TargetPath = "/opt/transform/practice/" Set tSC = oProduct.%Save() Quit tSC } ClassMethod RunScript( pProduct, pQuantity) As %Status { Set tSC = $$$OK Set oProduct = $Get(pProduct) If ($IsObject(oProduct) = 0) { Set oProduct = ##class(dc.iris.product).%OpenId(oProduct) } If ($IsObject(oProduct) = 0) { Set tSC = $$$ERROR($$$GeneralError,"No product defined") Quit tSC } Set pCmd = oProduct.RunCmd Set pNumberOfFiles = $Get(pQuantity,1) Set args=4 Set args(1) = oProduct.RunParam1 Set args(2) = oProduct.RunParam2 Set args(3) = oProduct.RunParam3 Set args(4) = oProduct.RunParam4 For ii = 1:1:args { If (args(ii) = "$Qty") Set args(ii) = pNumberOfFiles } Set tReturn = $ZF(-100,"/SHELL",pCmd,.args) Quit tSC }
go to post Oliver Wilms · Jun 1, 2022 I discussed this with InterSystems WRC. They told me they will clearly document that Pool Size should not be implemented using System Default Settings. I guess we cannot have different pool sizes in different environments...
go to post Oliver Wilms · May 13, 2022 Hi Mark, I have adapted the code for Production Monitor into a custom class User.ProductionMonitor. It can get host info (status OK or Error) and also Queues sizes. I also created ProductionManager.csp to display the info. I hope it helps you. Hopefully you will share what you do and maybe we both get a better solution! Please see code here: oliverwilms/production-monitor (github.com)
go to post Oliver Wilms · Apr 2, 2022 In Cache or IRIS globals subscripts, numbers do not get quoted. There is no difference between ^GLOBAL(1) and ^GLOBAL("1")