Lightweight Scheduler Service

The Lightweight Scheduler Service (LWSS) is a simple Windows service developed to allow web developers a quick and easy way to support their web-applications with an independent and reliable logic processing scheduler.
LatchKey main window
Download Now
This software requires the 4.5 .NET runtime. If you do not have this installed you will need to download and install before installing this product.
Download dotNetFx45_Full_setup.exe
x86-based and x64-based computers (see System Requirements). This is the recommended package for deploying from the web. This package does not support Itanium-based computers.

Many web-applications need processes to execute on timed intervals. Some developers choose to execute threads within their web application context, but web servers such as IIS can be configured to wipe out application pools at unknown intervals, thus closing these threads. Developers need a way to keep their scheduled logic running constantly outside of web server threads and the Windows task scheduler.

LWSS is a Windows service that is based upon a simple plugin-based architecture and can easily be extended to execute custom plugin libraries across multiple sessions (a configuration for one specific web application). A developer simply needs to install LWSS, develop and copy a compatible plugin library assembly into the plugins sub-folder, configure the service session and any plugin settings via the admin GUI, and start the LWSS service.

LWSS has some common configuration settings that are passed to the plugin assembly including database connection string, and e-mail server settings. This allows the developer to manage commonly utilized parameters across multiple plugins.

Each plugin can be configured to execute at a given time of day and/or on a specified per-second interval. The core process of LWSS executes an execution check every second. For example, a plugin execution interval can be set to execute every 30 seconds starting from the time the service started. LWSS can determine the start time and then execute the plugin every 30 seconds thereafter.