Eduard Lebedyuk · Jun 8, 2020 go to post

This is my first post Eduard so I'm not sure what the etiquette is. Should I mark your post as correct as it lead me to realise where the problem was or this one as it contains the working code?

You can mark any number of comments as correct answers, so both I guess.

Eduard Lebedyuk · Jun 6, 2020 go to post

You can use %ZSTART routine but I'd recommend writing idempotent code for OnProductionStart - this way all Interoperability functionality is contained inside the production.

Eduard Lebedyuk · Jun 4, 2020 go to post

Config package is a wrapper over CPF file.

You edit the objects of these classes and CPF file is edited automatically by Caché.

You can check in the CPF file where data server is defined and get the corresponding Config object.

WRC may provide more info I think.

Eduard Lebedyuk · Jun 4, 2020 go to post

Interesting article!

I encountered Business Process variation of this issue recently and would like to add that setting  SKIPMESSAGEHISTORY parameter is not always a complete solution. It disables sent/received reference history, but pending messages are still stored in a collection (no way around it).

In cases where one BP instance waits on more than ~10 000 messages simultaneously same issue occurs (I got a journal file per minute on 50 000 pending messages).

The recommended approach would be to change architecture layout so that one process would wait on a more reasanable amount of messages.

Eduard Lebedyuk · Jun 3, 2020 go to post

Please ask a separate question. This is an extensive topic and the question would get more attention from Community.

Eduard Lebedyuk · Jun 3, 2020 go to post

From the linked doc

  • DM - Distributed cache cluster data serve
  • AM - Distributed cache cluster application server

%Installer can run arbitrary code, and in code you can do ECP initialization.

ICM can provision mirrored configuration

Eduard Lebedyuk · Jun 2, 2020 go to post

Can't say I have. But there are a lot of Arduino network modules - seems doable.

What are you doing?

Eduard Lebedyuk · Jun 2, 2020 go to post

Does ensemble can limit request speed at Business Service?  too many requests slowdown my service.

InterSystems IRIS comes with InterSystems API Manager which is designed for these kind of tasks.

But at the message trace page. I can't found any source address .  

You can use $$$TRACE to capture additional information. Also CSP Gateway has additional request tracing facilities. Here's how you can enable tracing there.

But most importantly as I said in your previous post it looks like you're running Ensemble service on a custom port. First thing you need to do is:

  • Install public web server
  • Adjust web server configuration for better performance
  • Connect it to Ensemble
  • Switch Ensemble Business Service to use public web server
Eduard Lebedyuk · Jun 1, 2020 go to post

Values looks correct (I assume Ipaddress is in fact replaced by an ip address or a hostname).

I think the issue is the access to the driver library.

Check that the user you're running the app has access.

Maybe you need to specify the path with double slashes.

Also try copying the jar file into your app directory.

On the other hand InterSystems offers a very flexible and powerful full text search solution, as a part of InterSystems Cache - iFind (Also known as InterSystems SQL Search for InterSystems IRIS). Try it out to add full text search to your application.

Eduard Lebedyuk · May 29, 2020 go to post
Set tSC = ##class(Ens.Director).CreateBusinessService("Strata JSON Service",.tService)

After that line add

If $$$ISERR(tSC) {
    write $System.Status.GetErrorText(tSC), !
    quit tSC
}

Looks like CreateBusinessService call fails (so tService object doesn't get created).

Eduard Lebedyuk · May 29, 2020 go to post
Set tSC = ##class(Ens.Director).CreateBusinessService("Strata JSON Service",.tService)

Check that tSC is not an error and that tService is an object.

Eduard Lebedyuk · May 24, 2020 go to post

So should this be reported as a bug ?

Yes, please do.

This probably means the pythonbind interface is not doing some conversions that the ODBC and JDBC drivers are doing ?

Probably. Python Native API and xDBC are the recommended approaches to use with InterSystems IRIS.

Eduard Lebedyuk · May 24, 2020 go to post

Does this query work?

SELECT
    DatabaseName,
    Directory,
    MaxSize,
    Size,
    ExpansionSize,
    Available,
    Free,
    DiskFreeSpace,
    Status,
    SizeInt,
    TO_NUMBER(TOCHAR(AvailableNum)) AvailableNum,
    DiskFreeSpaceNum,
    ReadOnly
FROM SYS.Database_FreeSpace('*')
Eduard Lebedyuk · May 23, 2020 go to post

.xlsx file, manipulates the file (in COS)

How are you manipulating xlsx in InterSystems ObjectScript?

Eduard Lebedyuk · May 22, 2020 go to post

For a better http performance

  • Install dedicated web server
  • Configure it for your workflow
  • Maybe move web gateway/web server to a separate server