WJb Store Examples & Demos

Explore SQL Server, PostgreSQL, MySQL, SQLite, and IndexedDB integrations with persistence and workflow state management examples.

Browser Store Providers
SQL Store Providers

📦 SQLite

Run WJb on SQLite using the official WJb.SQLite store provider.

SQLite gives you durable, file-based persistence for jobs, workflows, execution history, monitoring data, actions and service configuration — while keeping the exact same programming model as every other WJb store.

The WJb Monitor Demo runs identically on SQLite. Only the store registration changes.

Why SQLite?

  • Zero-configuration, single-file database
  • Extremely easy to set up and deploy
  • Excellent for development, testing and small-to-medium production workloads
  • No separate database server required
  • Perfect for local demos, desktop apps and simple deployments
  • Full transactional support
Ideal when you want the simplest possible persistent store with minimal infrastructure.

What Is Stored?

The WJb.SQLite store persists everything the Monitor needs:

  • Jobs and their current state
  • Workflow transitions
  • Full execution history
  • Monitoring and progress data
  • Action definitions
  • Service configuration
All of this becomes immediately available in the monitoring dashboard.

How It Works

1. Create the WJb database schema (one-time):

   await WJbSqlite.InitDbAsync(connectionString);

2. Register the store:

   builder.Services.AddSingleton<IStore>(_ => 
       new SqliteStore(() => new(connectionString)));

3. Use the rest of the application exactly as usual.

The connection string is normally taken from appsettings.json:

{
  "ConnectionStrings": {
    "Sqlite": "Data Source=WJbDemo.db;Pooling=True;Default Timeout=30"
  }
}

Monitor Demo

This sample shows the complete WJb Monitor Demo running on SQLite with almost zero changes compared to other providers.

You get the same:

  • Background jobs & workflows
  • Live monitoring dashboard
  • Execution history
  • Retry handling
  • Action & service discovery
Only the storage backend is different.

Resources

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.