Using Settings for Timer Service Properties

In deployed Linx solutions, especially in a production environment, it often occurs that a client/user needs to change the properties of a Timer Service on an ad hoc basis. If your Timer Service is configured without the use of the $.Settings values, you will need to change the solutions timer properties in the Linx designer, have system downtime and redeploy the solution to the server which can be quite cumbersome and pose an element of risk to the production environment. To navigate around this issue, you can use $.Settings values as placeholders in your timer service (explained below). Then you can alter these settings in the Linx Server without affecting the entire solution.

Follow the below guide.

Instructions:

:floppy_disk: Sample Solutions to configure your Timer Service properties
Linx 5.22.0 TimerSettingsTest.lsoz (5.6 KB)
Linx 6.0.5 Linx6.zip (6.0 KB)

  1. Create a Timer Service with your desired property values.

  2. Copy these properties into your $.Settings like below (dependant on the type of timer you are using).

  3. Configure your Timer Service properties to use the $.Setting values created above.
    y

To change the setting values on the Linx Server:

  1. Select the solution in question from the main Linx Server Dashboard.

  2. Select the Settings tab on the left menu

  3. Edit the appropriate $.Setting values
    8

  4. Click “Save and Restart Services”
    9
    The service starting/stopping progress will be displayed on the right.
    10

  5. Your Timer Service will now use the updated $.Setting values.

Configuring $.Settings as Timer Properties:

Days:
Include Days
Exclude Days
1

Setting values for use as these properties must conform to the below standard:
Setting.Type = String
Setting.Value:

  • "EveryDay"
  • "Weekdays"
  • Specific Days of the Week (Comma separated values):i.e. "Monday, Tuesday, Thursday, Saturday"
  • Specific Dates (Comma separated date values): i.e "2019-02-12, 2019-02-19"

Mode:

  • Cannot be configured via settings, must be set in the Timer Service properties by selecting either "Specific times" or "Interval"

Times:
For Mode: Specific Times
Run at
Setting.Type = String
Setting.Value:

  • (Comma separated time values): i.e. "09:15:00,21:30:00"

Example Timer Service properties:
2

Example $.Settings values:
3

For Mode: Interval
Setting.Type = String
Setting.Value:

  • Run Every ( One time value): 00:01:00
  • Starting time (One time value): 12:00:00
  • Run for (One time value): 10:00:00

Example Timer Service properties:
4

Example $.Settings values:
x

Note:
The setting data "type" must always be of type string and must match the format of the above properties else there will be validation errors. As a guideline, you can first configure the timer properties on the timer service, then once satisfied, you can create $.Setting values for each of these properties and copy the newly added timer service properties into you $.Settings and then configure the timer service to use the appropriate $.Settings.* values.