Skip to main content

I have a scheduled sysrem flow (Check_Machine_JobsRunn) that runs every 5 seconds.

My sysytem flow check if there are any changes data on the machine and stores them on the database.

I get data from my external resource till 31/11/23 alt 01:34

Than it seems that, Indicium stops and restarts (i don’t know the reason) and kills the old process flows and create a ne ones (maybe with a new id).

I see this on indicum logs:

 

2023-11-30T01:40:36.4418807+01:00  0WRN] No persistent storage location for data protection is configured. The Encrypt and Decrypt process actions are disabled.
See the Thinkwise documentation on how to configure data protection. (51a9e278)
2023-11-30T01:40:36.9161048+01:00  0INF] Initiating startup license check (a070e428)
2023-11-30T01:40:36.9238294+01:00  :INF] Reading license from IAM. (d4563d62)
2023-11-30T01:40:36.9297918+01:00  1INF] License successfully read from IAM. (66b06fb5)
2023-11-30T01:40:37.1040291+01:00  0INF] License refresh scheduled for 2023-12-05 09:34:26. (09ff7cde)
2023-11-30T01:40:37.2208672+01:00  +WRN] Aborting schedule '11/30/2023 00:40:45' of process flow '"Check_Machine_JobsRunn"' from application 74 because Indicium has received a shutdown signal. (e8c21c8e)
2023-11-30T01:40:37.2226306+01:00  6WRN] Aborting schedule '11/30/2023 00:40:40' of process flow '"Check_Machine_JobsRunn"' from application 74 because Indicium has received a shutdown signal. (e8c21c8e)
2023-11-30T01:40:37.7229427+01:00  2INF] Indicium is shutting down while 3 system flows are still running, attempting to wait until they are done. (92f3c6e4)
2023-11-30T01:40:37.7231255+01:00  2INF] Waiting for system flow 1/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 11/30/2023 00:40:45 (3daa33f1)
2023-11-30T01:40:37.7231779+01:00  1INF] Waiting for system flow 2/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 11/30/2023 00:40:40 (3daa33f1)
2023-11-30T01:40:37.7233266+01:00  3INF] Waiting for system flow 3/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 11/29/2023 10:52:30 (3daa33f1)

 

When the sysytem flow stops and starts, my procedure “knows” that a scheduled system flow has been started and it doesn’t want to open a new task, because i dont’ want to open multiple system flows.

 

What happens? how can i solve it? Dou you have any suggestions?

 

 

Is your indicium correctly configured? With always on, and preload enabled set to true? 

 



 


Yes, I check it every time :)


Does the system flow start again once you navigate to the indicium landing page? 


Yes, it does.


this would imply the indicium didn't reboot correctly. To check if the indicium restarts correctly you can recycle the application pool, without going to the indicium page. The system flows should start automatically. If it doesn't then check if you have application initialization installed. 

 


 


Application initialization is installed.

 

This is what happens when my process flow stops:

 

2023-12-02T11:40:38.7323420+01:00   INF] License successfully read from IAM. (66b06fb5)
2023-12-02T11:40:38.9208231+01:00  0INF] License refresh scheduled for 2023-12-05 09:34:26. (09ff7cde)
2023-12-02T11:40:39.0288259+01:00  0WRN] Aborting schedule '12/02/2023 10:40:45' of process flow '"Check_Machine_JobsRunn"' from application 74 because Indicium has received a shutdown signal. (e8c21c8e)
2023-12-02T11:40:39.0315102+01:00  :WRN] Aborting schedule '12/02/2023 10:40:40' of process flow '"Check_Machine_JobsRunn"' from application 74 because Indicium has received a shutdown signal. (e8c21c8e)
2023-12-02T11:40:39.5392907+01:00  1INF] Indicium is shutting down while 3 system flows are still running, attempting to wait until they are done. (92f3c6e4)
2023-12-02T11:40:39.5395062+01:00  0INF] Waiting for system flow 1/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 12/02/2023 10:40:45 (3daa33f1)
2023-12-02T11:40:39.5395640+01:00  +INF] Waiting for system flow 2/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 12/02/2023 10:40:40 (3daa33f1)
2023-12-02T11:40:39.5396050+01:00  0INF] Waiting for system flow 3/3 to complete:
- Application ID: 74
- System flow ID: "Check_Machine_JobsRunn"
- Scheduled time: 12/01/2023 07:02:10 (3daa33f1)
 

 

Where does i check logs when Indicium doesn’t reboot correctly?

Why does Indicum reboots? it’s not something scheduled, becuase it happens everyday but not at the same hour.


Hello @MatteoSangiorgi,

The StartMode setting only affects what should happen after a shutdown (i.e. should it restart automatically or not). The shutdown itself is configured via the Regular Time Interval setting, which defaults to 29 hours, so it recycles 5 hours later every day.


Apart from that, there is also the Idle Time-out setting which determines how long the web application may be idle (not receiving requests) before it is shut down. The default for this is 20 minutes, I believe.

 

Both of these settings must be set to 0 if you want Indicium to never shutdown automatically.

However, all of this is separate from your issue that the Application Pool does not restart automatically after a shutdown. Apart from the reasons that have already been mentioned by Erwin, I can think of two more reasons why it might not restart.

The first is that the website does not have an HTTP binding. The Application Initialization module depends on your website being reachable on http://localhost/application. If you have removed the HTTP binding or you have a custom domain configured, it will not work (the custom domain part can be configured, but it must be http).

 

The second reason is that you are missing the following URL Rewrite rule.

 

We have added a default URL rewrite rule to Indicium some time ago that causes all other rules to be ignored if the request is an Application Initialization request. The reason for this is that other rules may interfere with this request, causing Application Initialization to fail. If you never update the web.config file when deploying a new Indicium, you may have missed this rule.

This is the content of the rule in the web.config, it must be the first rule:

<rule name="No redirect on warmup request (request from localhost with warmup user agent)" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="localhost" />
<add input="{HTTP_USER_AGENT}" pattern="Initialization" />
</conditions>
<action type="None" />
</rule>

I hope this helps.