Skip to content
Welcome to our documentation!

Jobs

  • GitHub stars for shinyorg/shiny
  • NuGet downloads for Shiny.Jobs
Frameworks
.NET
.NET MAUI
Blazor
Operating Systems
Android
iOS
macOS
Linux
Web

Shiny Jobs allow you to run periodic background tasks. On Android, this is powered by WorkManager. On iOS, by BGTaskScheduler. On Linux, macOS, Blazor WebAssembly, and any other plain .NET host, jobs are run by an in-process managed JobManager driven by a recurring timer — jobs only execute while the host process is alive. On Blazor WebAssembly, bring in Shiny.Support.DeviceMonitoring.Blazor for IBattery/IConnectivity (and optionally Shiny.Support.Storage.Blazor if you’d rather persist job state to localStorage than the default filesystem repository).

Jobs do not work on the iOS Simulator. You must test on a real device.

PlatformPackageNotes
AndroidShiny.JobsWorkManager — true OS-managed background execution
iOSShiny.JobsBGTaskScheduler — OS decides when
Linux / macOS / Plain .NETShiny.JobsIn-process managed JobManager on a recurring timer; filesystem JSON repository
Blazor WebAssemblyShiny.Jobs (+ Shiny.Support.DeviceMonitoring.Blazor)Same in-process scheduler. No separate meta-package — reference Shiny.Jobs directly and bring in Shiny.Support.DeviceMonitoring.Blazor for battery/connectivity. Optionally swap the default filesystem repo for Shiny.Support.Storage.Blazor (browser localStorage).
  • Cross-platform background job execution
  • Runtime criteria (internet access, charging, battery level)
  • Full dependency injection support
  • Stateful jobs (persists state across runs)
  • Foreground execution option
Shiny.JobsNuGet package Shiny.Jobs
Shiny.Hosting.MauiNuGet package Shiny.Hosting.Maui