How do we start Indicium automatically instead of manually?
I have a challenge when it comes to automatically starting the indicium application.
We're working with the Software Factory Version 2021.3 where the Indicium layer is used in the generation process.
Correct me if I'm wrong but the message We stopped hearing from Indiciumis given when Indicium does not pick up new system flows for at least 60 seconds. This usually means that Indicium is not running anymore and should be reactivated.
This is explainable behavior after rebooting the web server, when the IIS manage server is stopped or when the application pool is stopped or recycled. For all these examples IIS is not automatically starting the indicium application. We should always start Indicium manually by accessing the URL. Indicium will always be accessed by https based on a IIS redirect rule.
So the question is, how can eliminate the step where we start Indicium manually by accessing the URL and let IIS handle it automatically?
Page 1 / 1
Is the hosting module installed? And Is preload enabled set to true?
Note that the Preload feature of IIS will not work correctly if the website only accepts traffic via https, as the preload request is fired on http. A resolution for this problem can be found here.
Yes, we have Preload Enabled turned on and already using the "No redirect on warmup request".
To work around this limitation, you may consider enabling HTTP (unchecked the Require SSL setting under IIS Manager > SSL Settings)
Can you validate that in the `web.config` the rewrite rules are the same as in our latest `web.config`? I know some customers do changes in the configuration and for that reason don't always update the configuration.
Before posting my blog I downloaded the latest Indicium folder and placed the web.config in the Indicium application root.
Did you also check the hosting module if this is present? In older Indicium installers you had to deploy this manually.
Does the office-dev.niverplast.com website have an HTTP binding as well or does it only have an HTTPS binding? HTTP is necessary for automatic starting to work.
Also, is the Application Initialization module of IIS installed on the webserver?
Checked all 3 comments
Not sure if this impacts the auto start, but does the indicium have it’s own dedicated pool?
Does the Indicium log contain any errors? Is it possible that, for instance, IIS does attempt to start Indicium automatically after a web server restart, but the database server was also restarted and Indicium fails to start due to not being able to access the IAM database.
Does it work if you restart the web server without restarting anything else?
This does not seem to work either. We are using IIS version 10.0.
The only thing I can think of right now is that app init requests are always sent using localhost as the host, while your binding is specifically set to your domain.
So maybe that is why it is not going through.
That is merely a guess though and I cannot remember that being a requirement for getting it to work. The servers I tested with last year were fine with not even having a http binding at all.
Looking at your screenshots everything else seems correct as well.
Try logging the request using PerfView and see what response (if any) you are getting back.
"Correct me if I'm wrong but the message We stopped hearing from Indicium is given when Indicium does not pick up new system flows for at least 60 seconds. This usually means that Indicium is not running anymore and should be reactivated."
At that time, this was done through the process flow "system_flow_agent_check_in." Is this now included in one of the IAM system flows "system_flow_do_job" or "system_flow_gai_execution"?
After accepting for a long time that as a workaround after rebooting the web server I had to bring Indicium on air once manually by consulting the Indicium URL it turned out that I may have always been too impatient. Today, it seems that the Software Factory in the Generation and Synchronization screen does indeed pick up Indicium's heartbeat automatically after some time. With this we can conclude that all IIS settings are just fine and probably always have been but that the system flow that performs this check takes more time than I as a developer expected and hoped.
For that reason I would like to hear in which system flow this happens today so that I can (possibly) shorten it with a custom schedule. In addition, I am curious anyway what these flows do because I can find something about this in both the documentation and the platform.