Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduction
Offline database
Synchronization (Link → Offline database)
This job is in charge of synchronizing all relevant tables from Link to the offline database.
This job is run as part of the Scheduler Service.
It is important that only one instance of this job runs per offline database.
Code Block | ||
---|---|---|
| ||
<appSettings>
...
<add key="configConnString" value="SERVER=tcp:ebv-sql05\dev;TIMEOUT=5;DATABASE=Link;Integrated Security=SSPI" />
<add key="configConnOfflineDbString" value="SERVER=.\SqlExpress;DATABASE=Link.API;Integrated Security=SSPI" />
<add key="JobConfiguration:EnableOfflineDbSyncJob" value="false" />
<add key="JobConfiguration:OfflineDbSyncJobTriggerIntervalInHours" value="1" />
</appSettings> |
There are two four configurations to keep in mind when setting up the OfflineDbSyncJob.
configConnString
is the connection string for the Link database. This is required.
configConnOfflineDbString
is the connection string for the offline database. This is required.
JobConfiguration:EnableOfflineDbSyncJob
is used to either enable or disable the job in the scheduler service. If this is not set, it will default to false.
JobConfiguration:OfflineDbSyncJobTriggerIntervalInHours
is used to determine how often the job will run in hours. If this is not set, it will default to 1 hour.
IdentityServer online/offline
Async tracking job
This job is in charge of resolving all the async tracking requests that have come in from the Link REST API.
This job is run as part of the Scheduler Service.
It is important that only one instance of this job runs per offline database.
In a load balanced scenario, this job can run on each server. Each server will have their own offline database, but all async tracking jobs will resolve their requests to the same Link database.
The job prioritizes requests in the following order:
Create document or interchange
Upload document or interchange
Everything else
This order minimizes the chance of requests failing.
If failures do occur, the requests are left in the offline database so they can be retried later. An increasing delay is added to the request each time it fails so they do not bloat the next batch.
Code Block |
---|
<appSettings> ... <add key="configConnString" value="SERVER=tcp:ebv-sql05\dev;TIMEOUT=5;DATABASE=Link;Integrated Security=SSPI" /> <add key="configConnOfflineDbString" value="SERVER=.\SqlExpress;DATABASE=Link.API;Integrated Security=SSPI" /> <add key="JobConfiguration:EnableAsyncTrackingBufferSyncJob" value="true" /> <add key="JobConfiguration:AsyncTrackingBufferSyncJobTriggerIntervalInMinutes" value="1" /> <add key="JobConfiguration:AsyncTrackingBufferSyncJobRequestBatchSize" value="100" /> <add key="JobConfiguration:AsyncTrackingBufferSyncJobMaxRequestRetentionInHours" value="24" /> ... </appSettings> |
There are four six configurations to keep in mind when setting up the AsyncTrackingBufferSyncJob.
configConnString
is the connection string for the Link database. This is required.
configConnOfflineDbString
is the connection string for the offline database. This is required.
JobConfiguration:EnableAsyncTrackingBufferSyncJob
is used to either enable or disable the job in the scheduler service. If this is not set, it will default to false.
JobConfiguration:AsyncTrackingBufferSyncJobTriggerIntervalInMinutes
is used to determine how often the job will run in minutes. If this is not set, it will default to 1 minute.
JobConfiguration:AsyncTrackingBufferSyncJobRequestBatchSize
is used to determine how many requests are retrieved from the database to be processed in a single loop. If this is not set, it will default to 100 requests.
JobConfiguration:AsyncTrackingBufferSyncJobMaxRequestRetentionInHours
is used to determine when async tracking requests can safely be deleted from the database. If this is not set, it will default to 24 hours.
Automatic database cleanup (offline database)
The AsyncTrackingBufferSyncJob handles cleaning up the offline database.
During the process of finishing a batch, any request that is deemed to be too old, will be logged and deleted.
This limit can be set by the JobConfiguration:AsyncTrackingBufferSyncJobMaxRequestRetentionInHours
configuration and will default to 24 hours if it is not set.
Service unavailable
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Content on this page:
|