The purpose of the Nathean Schedule Service is to schedule the caching of data and to handle the distribution of formatted reports. It runs in the background either as a Windows Service or as an embedded element of the web application. Typically the schedule service is installed alongside the web application as a separate service in an on-premises deployments. However, installation as an embedded element of the web application may be preferable in cloud-based deployments.
Windows Service Installation Steps:
- Create a folder to which the Nathean Analytics service user has access.
- Extract the files from the Nathean Schedule Service.zip file into this folder.
- To install it as a Windows Service, open a command prompt as a local administrator on the server
- Run the following command to create the service. The command path should point to the folder where you extracted the files. If file path is correct, you will be prompted for a username/password to deploy the service. Enter the Administrator credentials. Ensure you use “.\” in front of the Administrator login name to denote a local admin account.
Note: Check the “D:\Clientfolder” path. If this is different on the site you are installing on, you will need to update here. The location of the “installutil.exe” might also be different. Ensure you are pointing to the correct Framework64 location.
- The App.config (typically called “LogixScheduleService.exe.config”) for this application needs to contain the correct connection strings and DefaultSystemCode.
- Note that the keys should match those as used in the Nathean Analytics web.config settings so for example, if using multi-tenanted mode, the DefaultSystemCode should be blank in both files.
- In the services console the newly created Nathean Schedule Service should have the correct Log On details the allow for SQL to access the service
- When this is done, the service should just run. Is it fails to start it will normally be because of file permissions for the account under which the service is running. Please see the troubleshooting section at the bottom of this topic for some common issues.
Embedded Schedule Service
As the embedded schedule service does not have a separate .exe or corresponding app.config file, all configuration for the embedded schedule service occurs in the web.config file of the web application.
The following image details the keys required to enable the embedded schedule service. Many of the keys are similar to a Windows Service configuration, btu notice the added “logix.embedded.mode” key. Setting this value to “Enabled” is required to enable the embedded schedule service.
Connecting the web application and Schedule Service
Note: This section is only applicable to Windows Service installations of the schedule service.
Nathean Analytics uses an Open Source scheduling system called Quartz to handle the scheduling tasks for Nathean Analytics.
To facilitate communication between the web application and the Nathean Schedule Service, we must configure them to operate on the same ports. This happens in the Quartz section of both the web application’s Web.config file and the App.config file of the Nathean Schedule Service.
web application Config Changes
This section is where we alter the port that Quartz operates on. This can be accomplished by changing the value of the “quartz.scheduler.proxy.address” key. The above image shows Quartz operating on port 555, but this can be changed depending on your specific requirements. For example, if we wanted to change the port to 600 instead of 555, we would change “quartz.scheduler.proxy.address” to be “tcp://localhost:600/QuartzScheduler”.
Nathean Schedule Service Config Changes
Much like a similar section in the Web.config file of the web application, this section of the schedule services’s App.config file is where we alter the port that Quartz operates on.This can be accomplished by changing the value of “quartz.scheduler.exporter.port” key. The above image shows Quartz operating on port 555, but this can be changed depending on your specific requirements. For example, if we wanted to change the port to 600 instead of 555, we would change “quartz.scheduler.exporter.port” to be “600”.
Schedule service failing to start or stopping unexpectedly
- Most likely any problems that will be hit will be down to configuration. The best way of trouble shooting this is by looking at the Windows Event Viewer. This should provide errors as the service is trying to start
- The service can be deleted by using the “sc delete LogixScheduleService” command on the command prompt
Differences in connection strings between Web.config and schedule service App.config files
Typically, you are unable to simply copy and paste the connection strings over from one file to another without making small changes to them. These changes are normally to do with the metadata section of the connection strings, and the file paths to the ssdl, csdl and msl files.
These files are usually located in the App_Data folder of the web application folder, and as such, the file paths in the connection string must reflect that. We can see this in the below image.
Unlike the web application, these files are found at the root level of the schedule service’s installation folder (the same level as the .exe itself). As such, this should be reflected in the schedule service’s connection strings (found in the app.config file). We can specify this filepath by using “.\”, seen in the below image.
Note the difference in filepaths between the two images.