How does BBIS store and run scheduled processes?

In BBIS > Administration > Sites & Settings > Settings > Schedules, we can set and save the frequency of schedules that are run for BBIS. Where in the system are these settings stored and called from to execute?
The schedules configured in the Administration area are fired by the BBAppFX components.  They reference the dbo.SCHEDULE table, which you can join on the BUSINESSPROCESSSCHEDULE, SCHEDULEID, BUSINESSPROCESSCATALOG, and BUSINESSPROCESSID tables.

These processes work via a "heartbeat". If heartbeats are enabled, every N seconds (N is a slightly random number based on the “HeartbeatInterval” web.config key), the web server makes a request to the "/webui/WebShellScheduledPorcessService.ashx" endpoint. This will actually run any jobs from the SCHEDULE table that needs to be run. 
 
Heartbeats are enabled or disabled via the “HeartbeatEnabled” web.config key.  If this is not explicitly defined in the CRM AppFx web.config, it is enabled and assigned a default value by the system.  
 
When running jobs from the SCHEDULE table, they run in the context of the "Blackbaud Built-In App Fx System User" which is hard coded to have the APPUSER.ID of "42A219C2-0C85-448B-BA65-06C68A224C1C".

Environment

 Blackbaud Internet Solutions

Was this article helpful?